GetRawInputData的HID设备信息结构

时间:2010-02-08 12:44:51

标签: windows winapi hid

我在哪里可以获得HID设备的结构?

例如:

 raw data from a device, using GetRawInputData:
 (  0 137 117  0 146 130 24 128  0  )
 (  0 137 117  0 146 130  8 128  0  )
                          /\
 at this I can see that  ||  there is being a button released
 that means, at the 6-th char at 4-th bit

通过分析原始流,我可以找出按钮,开关和模拟数据的位置。有没有办法从Windows询问此信息。

我的主要目标是基本上获得结构:

Button - 6th char, 4th bit.
Analog - 2nd char
Switch - 6th char, 0-3th bit.

我找到的唯一解决方案是HID Descriptors。但我不确定如何使用它们。 看完documentation之后,我觉得自己想碰到一堵砖墙。在那儿 也许是一个很好的例子,如何使用它们或更好地描述它们的书。 (或者更简单的方法 这样做没有描述符)


我找到HidP_GetButtonsHidP_GetUsages但仍不知道如何提取结构(如上所述)。

2 个答案:

答案 0 :(得分:0)

哦,你必须使用GetRawInputData。在msdn上有一个somewhat crummy示例。

答案 1 :(得分:0)

问题似乎是每个设备都有自己的结构。似乎没有通过win32 api获得结构解释的通用方法。

的组合

似乎可以从win32获取所有信息。

之后,您可能需要一些外部信息源(或由您生成),描述特定字段等。