HID报告描述符解析_笔记
要了解报告描述符,需要两份资料:《device class definition for human interface device (HID)》, 《Universal Serial Bus HID Usage Tables》
例如:0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x05表示前缀,0x01为数据部分
0x05转换成二进制,就是00000101,按照HID类协议5.3 generic item format的定义,这个字节被分成3个部分:
- bit0~bit1代表的是这个前缀后面跟的数据长度,两位可以表示最大4字节的数据,即bsize
- bit2~bit3代表的是这个前缀的类型,总共可以有三种类型:0=main,1=global,2=local,3=reserved;
- bit4~bit7代表前缀的tag,一般分为input(二进制的1000 00 nn,即bit4~bit7=1000,代表一个tag,bit2~bit3=00,代表main,bit0~bit1=nn,代表这个前缀后面还有nn所代表的数据),output(二进制的 1001 00 nn),feature(1011 00 nn),collection(1010 00 nn),end collection(1100 00 nn)
INPUT字段定义: