我试图捕获键盘事件。例如,我想从头开始挖掘键盘记录程序。经过2小时的战斗,我发现了以下内容
neel@pc1$ ls -l /dev/input/by-id lrwxrwxrwx 1 root root 9 2010-05-05 21:33 usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-event-kbd -> ../event1 lrwxrwxrwx 1 root root 9 2010-05-05 21:33 usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-event-mouse -> ../event2 lrwxrwxrwx 1 root root 9 2010-05-05 21:33 usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-mouse -> ../mouse1
但是当我试图
neel@pc1$ sudo cat /dev/input/usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-event-kbd
它什么也没有产生
经过更多搜索之后,现在我正在考虑Xorg中的某些内容可能会阻止它。
那么还有更多信息吗?在说的最后,我如何从该文件读取输入?还是有其他捕获键盘事件的方式?
谢谢您提供的线索对ls -l /dev/input/by-id我帮助很大!
ls -l /dev/input/by-id
defenderdz@defenderdz-pc:~$ ls -l /dev/input/by-id | grep kbd lrwxrwxrwx 1 root root 9 nov. 28 14:04 usb-Logitech_USB_Receiver-event-kbd -> ../event7 lrwxrwxrwx 1 root root 10 nov. 29 00:33 usb-NOVATEK_USB_Keyboard-event-kbd -> ../event26 lrwxrwxrwx 1 root root 9 nov. 28 14:04 usb-SONiX_USB_DEVICE-event-kbd -> ../event3 defenderdz@defenderdz-pc:~$
“ kbd”是用于键盘设备的后缀(我连接了3个键盘)。
您的错误是您正在访问 错误的文件夹 :
/dev/input/ 代替 /dev/input/by-id
/dev/input/
/dev/input/by-id
在我的示例中,正确的路径是:
defenderdz@defenderdz-pc:~$ sudo cat /dev/input/by-id/usb-NOVATEK_USB_Keyboard-event-kbd ���]�I���]�I���]�Ia���]�b���]�b���]�b���]�����]�����]��s���]����]����]����]�> ���]�> ���]�> d���]�8 ���]�8 ���]�8 ���]�����]�����]��s���]H|���]H|���]H|���]�����]�� ���]��d���]Ǵ���]Ǵ ���]Ǵ
就你而言
neel@pc1$ sudo cat /dev/input/by-id/usb-Plus_More_Enterprise_LTD._USB-compliant_keyboard-event-kbd
我并不是说这是最好的解决方案,但对我来说效果很好。您甚至可以通过解析ls结果来创建键盘的自动检测…