import hid_parser
rdesc_raw = [
0x05, 0x84, 0x09, 0x04, 0xA1, 0x01, 0x05, 0x84, 0x09, 0x24, 0xA1, 0x00, 0x85, 0x0B, 0x09, 0x25,
0x09, 0x1F, 0x75, 0x04, 0x95, 0x02, 0x15, 0x00, 0x25, 0x0F, 0x65, 0x00, 0xB1, 0x03, 0x05, 0x85,
0x09, 0xD1, 0x09, 0x2C, 0x09, 0x8B, 0x75, 0x01, 0x95, 0x03, 0x25, 0x01, 0xB1, 0x03, 0x95, 0x05,
0xB1, 0x03, 0x05, 0x85, 0x09, 0x83, 0x09, 0x8C, 0x09, 0x8D, 0x09, 0x8E, 0x75, 0x18, 0x95, 0x04,
0x67, 0x01, 0x10, 0x10, 0x00, 0x55, 0x00, 0x27, 0xFE, 0xFF, 0xFF, 0x00, 0xB1, 0x03, 0x05, 0x84,
0x09, 0x40, 0x75, 0x10, 0x95, 0x01, 0x67, 0x21, 0xD1, 0xF0, 0x00, 0x55, 0x05, 0x27, 0xFE, 0xFF,
0x00, 0x00, 0xB1, 0x03, 0x05, 0x85, 0x09, 0x67, 0x75, 0x18, 0x95, 0x01, 0x67, 0x01, 0x10, 0x10,
0x00, 0x55, 0x00, 0x27, 0xFE, 0xFF, 0xFF, 0x00, 0xB1, 0x83, 0x09, 0x66, 0x95, 0x01, 0xB1, 0x82,
0x09, 0x66, 0x95, 0x01, 0x81, 0x82, 0x09, 0x68, 0x75, 0x10, 0x95, 0x01, 0x66, 0x01, 0x10, 0x55,
0x00, 0x27, 0xFE, 0xFF, 0x00, 0x00, 0x81, 0x83, 0x05, 0x84, 0x09, 0x02, 0xA1, 0x02, 0x05, 0x85,
0x09, 0xD0, 0x09, 0x45, 0x09, 0x44, 0x09, 0x42, 0x75, 0x01, 0x95, 0x04, 0x25, 0x01, 0x81, 0x83,
0x95, 0x04, 0x81, 0x83, 0xC0, 0xC0, 0xC0
]
rdesc = hid_parser.ReportDescriptor(rdesc_raw)
print(rdesc.get_input_report_size())
descriptor acquired with command
lib version
python-hid-parser@8a00dc4dba662a8fc3973dc504cd2a715ae0f9ae