我有一个 Linux USB HID 设备(一个 Hama MCE ),我可以通过读取 cat /dev/input/event7
来手动读取它的事件和 cat /dev/input/event8
.每当我按下设备上的一个键时,就会有几个字节可用于读取 cat
之一。上面的命令。我在机器上默认安装了 Ubuntu Jaunty 64 位桌面。
我想我可以编写一个解析器来解释设备发出的字节,或者我将使用 libhid如果更方便的话。
我的问题是:
/usr/local/bin/keydumper /dev/input/event7 /dev/input/event8
(或每个 /dev/
路径的一个命令)将使用正确的 /dev/
运行。在命令行中替换的路径? 最佳答案
根据 Linux USB HID 驱动程序开发人员的回答回答我自己的问题:
问题 1. 和 2.:做
ioctl(open("/dev/input/event7", O_RDONLY), EVIOCGRAB, 1);
只要这个文件句柄是打开的,生成的事件只会去
到这个文件句柄(而不是同一设备的其他 open()s 或
系统键盘或鼠标事件池)。最多一个进程可以持有一个
一次在 HID 设备上成功 EVIOCGRAB。可以配置 Lirc
做一个 EVIOCGRAB。
问题 3:配置 udev 以在设备连接后启动程序。
关于linux - 如何在 Ubuntu Jaunty 下从 HID 设备读取事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521986/