linux-如何在Ubuntu Jaunty下从HID设备读取事件?

我有一个Linux USB HID设备(Hama MCE),可以通过读取cat / dev / input / event7和cat / dev / input / event8手动读取其事件.每当我按设备上的一个键时,上面的cat命令之一就可以读取几个字节.我在计算机上默认安装了Ubuntu Jaunty 64位桌面.

我想我可以编写一个解析器来解释设备发出的字节,或者如果更方便的话,我将使用libhid.

我的问题是:

>如何防止文本模式虚拟控制台像普通按键一样接收设备上的某些按键?到目前为止,某些设备键会产生Enter,BackSpace,PageUp或数字小键盘数字.
>同样,如何防止X服务器从该设备接收键盘和鼠标事件?我有几个USB键盘和鼠标连接到计算机.我希望X服务器从所有这些设备接收事件,但此设备除外.
>如何设置每当设备连接到计算机时,命令/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()或
系统键盘或鼠标事件池).一个进程最多可以容纳一个
一次在HID设备上成功执行EVIOCGRAB.可以配置Lirc
做一个EVIOCGRAB.

问题3 .:配置udev以在连接设备后启动程序.

上一篇:python opencv鼠标事件实现画框圈定目标获取坐标信息


下一篇:鼠标左键向上事件和openfiledialog