HID游戏手柄报告描述符
2022-03-23
2108
1
HID游戏手柄报告描述符指定Usage Page,这是设备的通用类,在本例中是Generic Desktop Controls ,然后是特定的 U sage,即Game Pad。然后描述符指定一个报告 ID,此处为 4。报告 ID 可以是 1 到 255 之间的任何值,在该提供的设备中的所有报告中,该报告必须是唯一的。
报告描述符声明 16 个开/关(0 或 1)按钮,每个按钮适合一个位(报告计数为 16,报告大小为 1),以及四个操纵杆轴,即用法X、Y、Z和Rz。每个操纵杆值从 -127 到 127 ,每个占8位,所以该报告的数据内容为1字节的ReportId、2字节的按钮状态和4字节的四个操纵杆轴的内容,共计7字节。
0x05, 0x01, # Usage Page (Generic Desktop Ctrls)
0x09, 0x05, # Usage (Game Pad)
0xA1, 0x01, # Collection (Application)
0x85, 0x04, # Report ID (4)
0x05, 0x09, # Usage Page (Button)
0x19, 0x01, # Usage Minimum (Button 1)
0x29, 0x10, # Usage Maximum (Button 16)
0x15, 0x00, # Logical Minimum (0)
0x25, 0x01, # Logical Maximum (1)
0x75, 0x01, # Report Size (1)
0x95, 0x10, # Report Count (16)
0x81, 0x02, # Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x01, # Usage Page (Generic Desktop Ctrls)
0x15, 0x81, # Logical Minimum (-127)
0x25, 0x7F, # Logical Maximum (127)
0x09, 0x30, # Usage (X)
0x09, 0x31, # Usage (Y)
0x09, 0x32, # Usage (Z)
0x09, 0x35, # Usage (Rz)
0x75, 0x08, # Report Size (8)
0x95, 0x04, # Report Count (4)
0x81, 0x02, # Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, # End Col
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936