Я хотел бы знать, как можно временно отключить клавиатуру и мышь в OS X.
Я хотел бы знать, как можно временно отключить клавиатуру и мышь в OS X.
Ответы:
Так как вам нравится делать это программно, я бы порекомендовал проверить http://alphababy.sourceforge.net/ и сделать это с нужными битами.
Если бы вы делали это без промежуточной программы, я бы сказал, что подсказка об использовании "xinput set-int-prop [device_id]" Device Enabled "8 0" из Disable Keyboard & Mouse input на unix (под X) была бы лучше , но я понимаю, что это не то, что вы просите.
Вы клавиатура и мышь беспроводные или просто USB? Если сначала, отключите их через меню Bluetooth на панели OS X. :)
Исходя из того, что сказал Jontas ...
В Linux (я не совсем уверен в OSX) вы можете использовать команду xinput для отключения и включения определенных устройств. Чтобы получить список идентификаторов устройств, просто запустите команду xinput без каких-либо аргументов. Если $ ID является идентификатором устройства, то следующее отключит его:
export DISPLAY=:0
xinput set-int-prop $ID "Device Enabled" 8 0
и это снова включит его:
xinput set-int-prop $ID "Device Enabled" 8 1
Я надеюсь, что это полезно.
Я сделал это на Linux (и я думаю, что это не должно быть так далеко на Mac OS X), где я просто выгружал USB-модули, связанные с HID. usbhid
был один такой модуль
Это, конечно, сделает любые скрытые устройства непригодными для использования, и вам потребуется другой способ (например, удаленный доступ) для возврата доступа.
Отключение и подключение клавиатуры / мыши также может восстановить сервис.
Я не знаю насчет мыши (кроме отключения, конечно), но Keyboard Cleaner временно отключает клавиатуру.
В системах GNU / Linux, работающих под управлением Xorg (возможно, в Wayland будут другие), вы можете использовать, xinput
как сказал Джеймс Р., и как описано здесь: /unix//a/17172/48798
В Mac OS X вы можете отключить клавиатуру, используя kextunload
следующую команду:
sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyb oard.kext/
(Я поместил там опечатку намеренно, так что вы не рискуете выполнить эту команду непреднамеренно, копируя и вставляя текст - вы должны исправить это и преднамеренно выпустить)
Чтобы снова включить клавиатуру, используйте:
sudo kextload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/
Смотрите также: https://discussions.apple.com/message/26569190#26569190