HID回调函数 - linux等价吗?

时间:2012-10-25 15:29:40

标签: linux usb hid

我有一个带有Windows DLL的HID手机显示器。我想把它移植到linux。

该软件依赖回调函数来报告事件。

鉴于Linux不支持使用此设备,我不得不依赖libusb和hidapi等低级API进行通信。我不清楚如何使用其中任何一个来实现事件回调。

是否是非阻塞读取?类似的东西?

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:0)

阻塞读取,只要它在专用文件描述符上,就应该没问题。然后,应用程序可以使用select()(或顶部的合适抽象)等待事件并行等待其他描述符上的其他事件。

似乎libusb有足够的支持来处理来自设备的同步和异步读取。

答案 1 :(得分:0)

HID设备已经在/ dev / input下公开,可能是你的设备生成了关键事件。从广义上讲,您会发现您的设备使用lsusb或遍历sysfs,打开/ dev / input / eventN(或者可能是udev创建的by-id或by-path链接之一)来获取文件描述符,并读出事件。有关接口上的文档,请参阅内核树中的Documentation/input/input.txt。这很简单。

如果没有有关您设备的更多信息,很难向您提供更具体的建议。