HID 报告描述符如下

0x05, 0x01,    // USAGE_PAGE (Generic Desktop)

0x09, 0x04,    // USAGE (Joystick)

0xa1, 0x00,    // COLLECTION (Physical)

0x85, 0x01,    // Report ID 1 如果只有一个 report 就不用 report id 默认为 0

0x05, 0x01,    // USAGE_PAGE (Generic Desktop)

0x09, 0x30,    // USAGE (X)

0x09, 0x31,    // USAGE (Y)

0x15, 0x80,    // LOGICAL_MINIMUM (-128)

0x25, 0x7f,    // LOGICAL_MAXIMUM (127)

0x75, 0x08,    // REPORT_SIZE (8)

0x95, 0x02,    // REPORT_COUNT (2)

0x81, 0x02,    // INPUT (Data,Var,Abs)

0x05, 0x09,    // USAGE_PAGE (Button)

0x19, 0x01,    // USAGE_MINIMUM (Button 1)

0x29, 0x08,    // USAGE_MAXIMUM (Button 8)

0x15, 0x00,    // LOGICAL_MINIMUM (0)

0x25, 0x01,    // LOGICAL_MAXIMUM (1)

0x75, 0x01,    // REPORT_SIZE (1)

0x95, 0x08,    // REPORT_COUNT (8)

0x81, 0x02,    // INPUT (Data,Var,Abs)

0xc0,                // END_COLLECTION


0x05, 0x01,    // USAGE_PAGE (Generic Desktop)

0x09, 0x04,    // USAGE (Joystick)

0xa1, 0x00,    // COLLECTION (Physical)

0x85, 0x02,    // Report ID 2 如果只有一个 report 就不用 report id 默认为 0

0x05, 0x01,    // USAGE_PAGE (Generic Desktop)

0x09, 0x30,    // USAGE (X)

0x09, 0x31,    // USAGE (Y)

0x15, 0x80,    // LOGICAL_MINIMUM (-128)

0x25, 0x7f,    // LOGICAL_MAXIMUM (127)

0x75, 0x08,    // REPORT_SIZE (8)

0x95, 0x02,    // REPORT_COUNT (2)

0x81, 0x02,    // INPUT (Data,Var,Abs)

0x05, 0x09,    // USAGE_PAGE (Button)

0x19, 0x01,    // USAGE_MINIMUM (Button 1)

0x29, 0x08,    // USAGE_MAXIMUM (Button 8)

0x15, 0x00,    // LOGICAL_MINIMUM (0)

0x25, 0x01,    // LOGICAL_MAXIMUM (1)

0x75, 0x01,    // REPORT_SIZE (1)

0x95, 0x08,    // REPORT_COUNT (8)

0x81, 0x02,    // INPUT (Data,Var,Abs)

0xc0,    // END_COLLECTION