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 */