如何解析隐藏的报告描述符?

问题描述 投票:0回答:1

我阅读过的有关USB隐藏报告描述符的所有教程都使用数字来表示数据。这些数字从哪里来?

示例:

0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
0x09, 0x02,                    // USAGE (Mouse)
0xa1, 0x01,                    // COLLECTION (Application)
0x09, 0x01,                    //   USAGE (Pointer)
0xa1, 0x00,                    //   COLLECTION (Physical)
0x05, 0x09,                    //     USAGE_PAGE (Button)
0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)
0x29, 0x03,                    //     USAGE_MAXIMUM (Button 3)
0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)
0x95, 0x03,                    //     REPORT_COUNT (3)
0x75, 0x01,                    //     REPORT_SIZE (1)
0x81, 0x02,                    //     INPUT (Data,Var,Abs)
0x95, 0x01,                    //     REPORT_COUNT (1)
0x75, 0x05,                    //     REPORT_SIZE (5)
0x81, 0x03,                    //     INPUT (Cnst,Var,Abs)
0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)
0x09, 0x30,                    //     USAGE (X)
0x09, 0x31,                    //     USAGE (Y)
0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)
0x25, 0x7f,                    //     LOGICAL_MAXIMUM (127)
0x75, 0x08,                    //     REPORT_SIZE (8)
0x95, 0x02,                    //     REPORT_COUNT (2)
0x81, 0x06,                    //     INPUT (Data,Var,Rel)
0xc0,                          //   END_COLLECTION
0xc0                           // END_COLLECTION

例如,第一行中的0x05和0x01来自何处?如何转换为// // USAGE_PAGE(通用桌面)?什么是有效值?这些如何订购?如何定义嵌套?

usb driver hid
1个回答
0
投票

请参见我对Custom HID device HID report descriptor的类似问题的回答(摘录如下):

要了解HID报告描述符,您需要阅读HID Information page上的一些文档。特别是,您应该尝试了解:

  1. “ HID 1.11的设备类定义”文档-描述人机接口设备报告格式
  2. “ HID使用情况表1.12”文档-描述了许多“使用情况”页面的值以及那些可以出现在报告描述符中的页面中的“使用情况”
© www.soinside.com 2019 - 2024. All rights reserved.