类型化纯Python库来解析HID报表描述符
hid-parser的Python项目详细描述
python hid解析器
类型化纯Python库来解析HID报表描述符
示例
>>>importhid_parser>>>simple_mouse_rdesc_raw=[...0x05,0x01,# .Usage Page (Generic Desktop) 0...0x09,0x02,# .Usage (Mouse) 2...0xa1,0x01,# .Collection (Application) 4...0x09,0x02,# ..Usage (Mouse) 6...0xa1,0x02,# ..Collection (Logical) 8...0x09,0x01,# ...Usage (Pointer) 10...0xa1,0x00,# ...Collection (Physical) 12...0x05,0x09,# ....Usage Page (Button) 14...0x19,0x01,# ....Usage Minimum (1) 16...0x29,0x03,# ....Usage Maximum (3) 18...0x15,0x00,# ....Logical Minimum (0) 20...0x25,0x01,# ....Logical Maximum (1) 22...0x75,0x01,# ....Report Size (1) 24...0x95,0x03,# ....Report Count (3) 26...0x81,0x02,# ....Input (Data,Var,Abs) 28...0x75,0x05,# ....Report Size (5) 30...0x95,0x01,# ....Report Count (1) 32...0x81,0x03,# ....Input (Cnst,Var,Abs) 34...0x05,0x01,# ....Usage Page (Generic Desktop) 36...0x09,0x30,# ....Usage (X) 38...0x09,0x31,# ....Usage (Y) 40...0x15,0x81,# ....Logical Minimum (-127) 42...0x25,0x7f,# ....Logical Maximum (127) 44...0x75,0x08,# ....Report Size (8) 46...0x95,0x02,# ....Report Count (2) 48...0x81,0x06,# ....Input (Data,Var,Rel) 50...0xc0,# ...End Collection 52...0xc0,# ..End Collection 53...0xc0,# .End Collection 54...]>>>rdesc=hid_parser.ReportDescriptor(simple_mouse_rdesc_raw)>>>rdesc.get_input_report_size()3bytes>>>foriteminrdesc.get_input_items():...print(item)...VariableItem(offset=0bits,size=1bit,usage=Usage(page=Button,usage=Button1(primary/trigger)))VariableItem(offset=1bit,size=1bit,usage=Usage(page=Button,usage=Button2(secondary)))VariableItem(offset=2bits,size=1bit,usage=Usage(page=Button,usage=Button3(tertiary)))PaddingItem(offset=3bits,size=5bits)VariableItem(offset=1byte,size=1byte,usage=Usage(page=GenericDesktopControls,usage=X))VariableItem(offset=2bytes,size=1byte,usage=Usage(page=GenericDesktopControls,usage=Y))^{pr2}$
- 项目
标签: