和描述符声明相关:
输入报文八个字节:一个修饰键(8bit,左右ctrl\alt\shift\win键)+一个预留字节+6个按键扫描字节
- char code HIDREPORTDESC[65] =
- {
- 0x05,0x01, //USAGE_PAGE(Generic Desktop);
- 0x09,0x06, //USAGE(Keyboard);
- 0xa1,0x01, //COLLECTION(Application);
- 0x05,0x07, // USAGE_PAGE(Keyboard);
- 0x19,0xe0, // USAGE_MINIMUM(224);
- 0x29,0xe7, // USAGE_MAXIMUM(255);
- 0x15,0x00, // LOGICAL_MINIMUM(0);
- 0x25,0x01, // LOGICAL_MAXIMUM(1);
- 0x75,0x01, // REPORT_SIZE(1);
- 0x95,0x08, // REPORT_COUNT(8);
- 0x81,0x02, // INPUT(Data,Variable,Absolute);
-
- 0x75,0x08, // REPORT_SIZE(8);
- 0x95,0x01, // REPORT_COUNT(1);
- 0x81,0x01, // INPUT(Constant);
-
- 0x19,0x00, // USAGE_MINIMUM(0);
- 0x29,0x65, // USAGE_MAXIMUM(101);
- 0x15,0x00, // LOGICAL_MINIMUM(0);
- 0x25,0x65, // LOGICAL_MAXIMUM(101);
- 0x75,0x08, // REPORT_SIZE(8);
- 0x95,0x06, // REPORT_COUNT(6);
- 0x81,0x00, // INPUT(Data,Array);
-
- 0x05,0x08, // USAGE_PAGE(LEDs);
- 0x19,0x01, // USAGE_MINIMUM(1);
- 0x29,0x03, // USAGE_MAXIMUM(3);
- 0x15,0x00, // LOGICAL_MINIMUM(0);
- 0x25,0x01, // LOGICAL_MAXIMUM(1);
- 0x75,0x01, // REPORT_SIZE(1);
- 0x95,0x03, // REPORT_COUNT(3);
- 0x91,0x02, // OUTPUT(Data,Variable,Absolute);
-
- 0x75,0x05, // REPORT_SIZE(5);
- 0x95,0x01, // REPORT_COUNT(1);
- 0x91,0x01, // OUTPUT(Constant);
-
- 0xc0, //END_COLLECTION;
- };
复制代码
|