- const uint8_t XBOX_ReportDescriptor[XBOX_SIZ_REPORT_DESC] =
- {
- /* 0 - 7 */
- 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */
- 0x09, 0x04, /* USAGE (Joystick) */
- 0xA1, 0x01, /* COLLECTION (Application) */
- 0xA1, 0x02, /* COLLECTION (Logical) */
-
- //输入报告配置
- /* 8 - 31 */
- 0x15, 0x00, /* Logical Minimum (0) */
- 0x26, 0xFF, 0x03, /* Logical Maximum (1023) */
- 0x35, 0x00, /* Physical Minimum (0) */
- 0x46, 0xFF, 0x03, /* Physical Maximum (1023) */
- 0x75, 0x0A, /* Report Size (10) */
- 0x95, 0x01, /* Report Count (1) */
- 0x09, 0x30, /* Usage (X) */
- 0x81, 0x02, /* Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) */
- 0x75, 0x06, /* Report Size (6) */
- 0x95, 0x01, /* Report Count (1) */
- 0x81, 0x01, /* Input (Cnst,Ary,Abs) */
-
- /* 32 - 47*/
- 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
- 0x46, 0xFF, 0x00, /* Physical Maximum (255) */
- 0x75, 0x08, /* Report Size (8) */
- 0x95, 0x02, /* Report Count (2) */
- 0x09, 0x31, /* Usage (Y) */
- 0x09, 0x32, /* Usage (Z) */
- 0x81, 0x02, /* Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) */
-
- /* 48 - 69*/
- 0x75, 0x01, /* Report Size (1) */
- 0x95, 0x17, /* Report Count (23) */
- 0x25, 0x01, /* Logical Maximum (1) */
- 0x45, 0x01, /* Physical Maximum (1) */
- 0x05, 0x09, /* Usage Page (Button) */
- 0x19, 0x01, /* Usage Minimum (Button 1) */
- 0x29, 0x17, /* Usage Maximum (Button 23) */
- 0x81, 0x02, /* Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) */
- 0x75, 0x01, /* Report Size (1) */
- 0x95, 0x01, /* Report Count (1) */
- 0x81, 0x01, /* Input (Cnst,Ary,Abs) */
-
- /* 70 - 87*/
- 0x06, 0x00, 0xFF, /* Usage Page (Vendor-Defined 1) */
- 0x09, 0x01, /* Usage (Vendor-Defined 1) */
- 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
- 0x46, 0xFF, 0x00, /* Physical Maximum (255) */
- 0x75, 0x08, /* Report Size (8) */
- 0x95, 0x01, /* Report Count (1) */
- 0x81, 0x02, /* Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) */
- 0xC0, /* End Collection */
-
- /* 88 - 103*/
- 0xA1, 0x02, /* COLLECTION (Logical) */
- 0x75, 0x08, /* Report Size (8) */
- 0x95, 0x38, /* Report Count (56) */
- 0x46, 0xFF, 0x00, /* Physical Maximum (255) */
- 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
- 0x09, 0x02, /* Usage (Vendor-Defined 2) */
- 0x81, 0x02, /* Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) */
-
- //输出报告配置
- /* 104 - 117*/
- 0x75, 0x08, /* Report Size (8) */
- 0x95, 0x40, /* Report Count (64) */
- 0x46, 0xFF, 0x00, /* Physical Maximum (255) */
- 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
- 0x09, 0x03, /* Usage (Vendor-Defined 3) */
- 0x91, 0x02, /* Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) */
-
- /* 118 - 136*/
- 0x75, 0x08, /* Report Size (8) */
- 0x95, 0x03, /* Report Count (3) */
- 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
- 0x46, 0xFF, 0x00, /* Physical Maximum (255) */
- 0x09, 0x01, /* Usage (Vendor-Defined 1) */
- 0x09, 0x02, /* Usage (Vendor-Defined 2) */
- 0x09, 0x03, /* Usage (Vendor-Defined 3) */
- 0xB1, 0x02, /* Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) */
- 0xC0, /* End Collection */
-
- /*137*/
- 0xC0 /* End Collection */
- }; /* CustomHID_ReportDescriptor */