官网HID描述符工具

USB规范官网提供了一个HID报告描述符生成工具,HID Descriptor Tool | USB-IF

使用我们此工具,我们可以:

  • 创建、编辑和验证HID报告描述符
  • 输出多种输出(.txt、.inc、.h等)
  • 查看一些标准的设备报告描述符示例。

    该工具包中,包含有大量的常用设备的报告描述符。

双击dt.exe后,软件界面如下:

1600947100131

我们通过菜单的 FILE/Open,弹出需要打开的HID报告描述符。

1600947086268

这里我们选择鼠标的报告描述符:mouse.hid

1600947136065

可以看到,Resport Descriptor分两列显示,第一列为报告描述符的说明,第二列为十六进制数。

1600947143852

如需要修改某些值,可以双击选中需要修改的行,如我们双击 INPUT(Data,Var,Abs) 81 02,弹出其修改页:

1600947500315

修改完成以后,点击“File -> Save As”,保存为.h格式。保存完成后打开,效果如下:

  1. char ReportDescriptor[50] = {
  2. 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
  3. 0x09, 0x02, // USAGE (Mouse)
  4. 0xa1, 0x01, // COLLECTION (Application)
  5. 0x09, 0x01, // USAGE (Pointer)
  6. 0xa1, 0x00, // COLLECTION (Physical)
  7. 0x05, 0x09, // USAGE_PAGE (Button)
  8. 0x19, 0x01, // USAGE_MINIMUM (Button 1)
  9. 0x29, 0x03, // USAGE_MAXIMUM (Button 3)
  10. 0x15, 0x00, // LOGICAL_MINIMUM (0)
  11. 0x25, 0x01, // LOGICAL_MAXIMUM (1)
  12. 0x95, 0x03, // REPORT_COUNT (3)
  13. 0x75, 0x01, // REPORT_SIZE (1)
  14. 0x81, 0x02, // INPUT (Data,Var,Abs)
  15. 0x95, 0x01, // REPORT_COUNT (1)
  16. 0x75, 0x05, // REPORT_SIZE (5)
  17. 0x81, 0x03, // INPUT (Cnst,Var,Abs)
  18. 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
  19. 0x09, 0x30, // USAGE (X)
  20. 0x09, 0x31, // USAGE (Y)
  21. 0x15, 0x81, // LOGICAL_MINIMUM (-127)
  22. 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
  23. 0x75, 0x08, // REPORT_SIZE (8)
  24. 0x95, 0x02, // REPORT_COUNT (2)
  25. 0x81, 0x06, // INPUT (Data,Var,Rel)
  26. 0xc0, // END_COLLECTION
  27. 0xc0 // END_COLLECTION

猜你喜欢

转载自blog.csdn.net/allen_xu_2012_new/article/details/131944553