标签: hid-device

如何在linux上捕获原始HID输入?

我想要完成的简短版本:我有一个脚踏板(INFINITY-IN-USB-1,如果有任何兴趣),它是作为通用HID设备实现的,我希望它表现为控制和alt Linux上的密钥.我正在寻找X级别的东西,即不仅仅是单个程序.

更长的版本:我通过调用dll RegisterRawInputDevices和GetRawInputData并在隐藏的窗口中监听输入,在Windows XP中使用此设置.所有这些都是通过相当简单的Autohotkey脚本完成的(如果有人有兴趣可以在这里发布).关键是,不需要任何额外的驱动程序等; 只需要本机Windows dll.

我希望这个设置在linux上工作(更具体地说是Ubuntu下的Gnome,但我偶尔会使用其他发行版/窗口管理器,所以我很感激X级别的解决方案).这个脚踏板不会将自己注册为键盘甚至操纵杆,而是作为具有UsagePage 12,用法3的HID设备.我注意到最新的Ubuntu可以检测并使用Microsoft Natural Keyboard上的收藏夹键,它也可以注册为HID设备*.我使用与使用脚踏板相同的方法在Windows上使用这些键(即没有捆绑软件).所以我认为这个踏板的东西也适用于linux,但问题是如何?

[我是Linux上较低级别的新手,所以请慷慨地提供引言或教程的链接.)

*对于那些不知情的人,Microsoft Natural Keyboard会同时注册为常规键盘和通用HID设备.如果没有某些应用程序(例如捆绑的应用程序)知道如何解释HID输入,常规键将起作用,但是最喜欢的键和特殊功能键是无用的.


为了澄清,linux并没有将踏板压力视为输入.它确实识别USB设备,但xev没有为踏板按下输出.我已经看到有人在WINE下成功使用踏板进行转录软件的报道,但这必须以Windows的方式工作,并没有给出我想要的东西(这使得踏板看起来像所有原生linux应用程序的键盘).我想知道是否需要一些低级linux键盘驱动程序?


这里有更多信息:如果我在终端发出这个

cat /dev/usb/hiddev0
Run Code Online (Sandbox Code Playgroud)

(dev/usb/hiddev0是我的踏板),我得到与我的踏板按下相对应的原始代码.那是一个开始.我知道那些原始代码意味着什么:二进制,0001,0010,0100分别对应每个踏板,踏板按压的组合发送那些二进制数的组合,以及释放任何踏板仍然被按下的踏板触发输入(如果全部踏板向上,0000发送).

如何让X听取dev/usb/hiddev0并将原始代码翻译成可能是一个特殊的键码,以便我可以用xmodmap或其他东西映射它们?

linux hid hid-device

31
推荐指数
3
解决办法
8万
查看次数

标签 统计

hid ×1

hid-device ×1

linux ×1