Сценарий для отключения мыши и клавиатуры

Я хотел бы создать скрипт для моего компьютера, который позволит мне сделать его непригодным для использования в течение нескольких минут. Я бы хотел, чтобы у меня был скрипт, который при запуске убьет всех моих драйверов клавиатуры и мыши, чтобы я не мог его использовать.

Кроме того, я хотел бы, чтобы он игнорировал все, что я подключаю, чтобы я не может просто отключить и подключить клавиатуру и мышь или что-нибудь еще.

Если у вас есть идея о том, как я мог бы реализовать такую ​​вещь.

-1
задан 20 May 2017 в 06:44

2 ответа

Сначала запустите xinput -list, чтобы получить идентификатор вашей мыши и клавиатуры. Результат должен выглядеть так:

⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ HID 413c:3010 id=8 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ Eee PC WMI hotkeys id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]

В моем случае идентификатор моей клавиатуры - 10, а идентификатор моей мыши - 8

. Затем вы можете запустить этот , заменив 8 и 10 на ваши идентификаторы клавиатуры и мыши. Время, в течение которого они будут отключены в секундах, - это число после sleep

xinput set-prop 8 'Device Enabled' 0 ; xinput set-prop 10 'Device Enabled' 0 ; sleep 5 ; xinput set-prop 8 'Device Enabled' 1 ; xinput set-prop 10 'Device Enabled' 1

EDIT:

Чтобы предотвратить другую мышь или клавиатура, подключенная к другому порту USB от работы, лучшее решение, которое у меня есть, - это выгрузить модуль ядра USB HID.

sudo -i rmmod usbhid ; sleep 5 ; modprobe usbhid

(Опять же, замените 5 желаемым нерабочим временем в секундах)

0
ответ дан 18 July 2018 в 13:02

Сначала запустите xinput -list, чтобы получить идентификатор вашей мыши и клавиатуры. Результат должен выглядеть так:

⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ HID 413c:3010 id=8 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ Eee PC WMI hotkeys id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]

В моем случае идентификатор моей клавиатуры - 10, а идентификатор моей мыши - 8

. Затем вы можете запустить этот , заменив 8 и 10 на ваши идентификаторы клавиатуры и мыши. Время, в течение которого они будут отключены в секундах, - это число после sleep

xinput set-prop 8 'Device Enabled' 0 ; xinput set-prop 10 'Device Enabled' 0 ; sleep 5 ; xinput set-prop 8 'Device Enabled' 1 ; xinput set-prop 10 'Device Enabled' 1

EDIT:

Чтобы предотвратить другую мышь или клавиатура, подключенная к другому порту USB от работы, лучшее решение, которое у меня есть, - это выгрузить модуль ядра USB HID.

sudo -i rmmod usbhid ; sleep 5 ; modprobe usbhid

(Опять же, замените 5 желаемым нерабочим временем в секундах)

0
ответ дан 24 July 2018 в 20:05
  • 1
    Спасибо за ваш ответ. Как я могу затем убедиться, что я не могу просто подключить новую клавиатуру или мышь, что вы работаете, поскольку она будет использовать другой набор prop? – TheNotoriousSc 20 May 2017 в 00:59
  • 2
    @TheNotoriousSc Ну, в этот момент вы ищете, в основном, необходимость отключить всю шину USB. – Android Dev 20 May 2017 в 01:02
  • 3
    Как я могу это сделать? – TheNotoriousSc 20 May 2017 в 01:05
  • 4
    @TheNotoriousSc - см. Редактирование моего ответа – Android Dev 20 May 2017 в 04:01

Другие вопросы по тегам:

Похожие вопросы: