HID报告描述符解释

时间:2020-10-19 13:57:42

标签: windows usb pcap hid

我正在尝试编写一个HID Report Descriptor解析器。监视某些HID设备时,我从.pcap文件中获取了这些描述符,但遇到了一些我不理解的问题。

例如,当我插入键盘时,会得到device descriptorconfiguration descriptorstring descriptors,但我还会获得2次传输,每个传输具有不同的HID Report Descriptor 。我最近阅读了很多USB文档,因此我知道在Configuration Descriptor中,它向我发送了我的设备具有更多HID Class两个接口的信息(在此示例中为2个)。在第一个界面中,它告诉我bInterfaceProtocol = Keyboard,但第二个只是0。然后在第一个HID Report Descriptor上我得到了GLobal item Usage = Generic Desktop ControlsLocal item Usage = Keyboard。但是在第二篇文章中,它的结构更加合理,如下所示:

HID report Descriptor 2

另外,第二个HID Report Descriptor's Main item's Collections也包含Report IDs

我的问题是:

为什么键盘正常的东西具有多个接口,因此有多个HID Report Descriptors

有没有办法从第二个HID Report descriptor得知它是键盘描述符?稍后在代表其输入内容时会有所帮助。

如果我得到了多个HID Report descriptors,并且其中一个由Report IDs构成,而第二个则不是,那么我如何从输入中得知该设备发送给我,但前提是该设备已发送给我是否使用Report ID

谢谢您的输入。

0 个答案:

没有答案