1*1dec39d4SBenjamin Tissoires# SPDX-License-Identifier: GPL-2.0 2*1dec39d4SBenjamin Tissoires 3*1dec39d4SBenjamin Tissoires# fmt: off 4*1dec39d4SBenjamin Tissoireswacom_pth660_v145 = [ 5*1dec39d4SBenjamin Tissoires 0x05, 0x01, # . Usage Page (Desktop), 6*1dec39d4SBenjamin Tissoires 0x09, 0x02, # . Usage (Mouse), 7*1dec39d4SBenjamin Tissoires 0xA1, 0x01, # . Collection (Application), 8*1dec39d4SBenjamin Tissoires 0x85, 0x01, # . Report ID (1), 9*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (Pointer), 10*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 11*1dec39d4SBenjamin Tissoires 0x05, 0x09, # . Usage Page (Button), 12*1dec39d4SBenjamin Tissoires 0x19, 0x01, # . Usage Minimum (01h), 13*1dec39d4SBenjamin Tissoires 0x29, 0x03, # . Usage Maximum (03h), 14*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 15*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 16*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 17*1dec39d4SBenjamin Tissoires 0x95, 0x03, # . Report Count (3), 18*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 19*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 20*1dec39d4SBenjamin Tissoires 0x95, 0x05, # . Report Count (5), 21*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 22*1dec39d4SBenjamin Tissoires 0x05, 0x01, # . Usage Page (Desktop), 23*1dec39d4SBenjamin Tissoires 0x09, 0x30, # . Usage (X), 24*1dec39d4SBenjamin Tissoires 0x09, 0x31, # . Usage (Y), 25*1dec39d4SBenjamin Tissoires 0x15, 0x81, # . Logical Minimum (-127), 26*1dec39d4SBenjamin Tissoires 0x25, 0x7F, # . Logical Maximum (127), 27*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 28*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 29*1dec39d4SBenjamin Tissoires 0x81, 0x06, # . Input (Variable, Relative), 30*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 31*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 32*1dec39d4SBenjamin Tissoires 0x06, 0x0D, 0xFF, # . Usage Page (FF0Dh), 33*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 34*1dec39d4SBenjamin Tissoires 0xA1, 0x01, # . Collection (Application), 35*1dec39d4SBenjamin Tissoires 0x85, 0x10, # . Report ID (16), 36*1dec39d4SBenjamin Tissoires 0x09, 0x20, # . Usage (20h), 37*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 38*1dec39d4SBenjamin Tissoires 0x09, 0x42, # . Usage (42h), 39*1dec39d4SBenjamin Tissoires 0x09, 0x44, # . Usage (44h), 40*1dec39d4SBenjamin Tissoires 0x09, 0x5A, # . Usage (5Ah), 41*1dec39d4SBenjamin Tissoires 0x09, 0x45, # . Usage (45h), 42*1dec39d4SBenjamin Tissoires 0x09, 0x3C, # . Usage (3Ch), 43*1dec39d4SBenjamin Tissoires 0x09, 0x32, # . Usage (32h), 44*1dec39d4SBenjamin Tissoires 0x09, 0x36, # . Usage (36h), 45*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 46*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 47*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 48*1dec39d4SBenjamin Tissoires 0x95, 0x07, # . Report Count (7), 49*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 50*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 51*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 52*1dec39d4SBenjamin Tissoires 0x0A, 0x30, 0x01, # . Usage (0130h), 53*1dec39d4SBenjamin Tissoires 0x65, 0x11, # . Unit (Centimeter), 54*1dec39d4SBenjamin Tissoires 0x55, 0x0D, # . Unit Exponent (13), 55*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 56*1dec39d4SBenjamin Tissoires 0x47, 0x80, 0x57, 0x00, 0x00, # . Physical Maximum (22400), 57*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 58*1dec39d4SBenjamin Tissoires 0x27, 0x00, 0xAF, 0x00, 0x00, # . Logical Maximum (44800), 59*1dec39d4SBenjamin Tissoires 0x75, 0x18, # . Report Size (24), 60*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 61*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 62*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x01, # . Usage (0131h), 63*1dec39d4SBenjamin Tissoires 0x47, 0xD0, 0x39, 0x00, 0x00, # . Physical Maximum (14800), 64*1dec39d4SBenjamin Tissoires 0x27, 0xA0, 0x73, 0x00, 0x00, # . Logical Maximum (29600), 65*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 66*1dec39d4SBenjamin Tissoires 0x09, 0x30, # . Usage (30h), 67*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 68*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 69*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 70*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x1F, # . Logical Maximum (8191), # !!! Errata: Missing Physical Max = 0 71*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 72*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 73*1dec39d4SBenjamin Tissoires 0x09, 0x3D, # . Usage (3Dh), 74*1dec39d4SBenjamin Tissoires 0x09, 0x3E, # . Usage (3Eh), 75*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 76*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 77*1dec39d4SBenjamin Tissoires 0x35, 0xC0, # . Physical Minimum (-64), 78*1dec39d4SBenjamin Tissoires 0x45, 0x3F, # . Physical Maximum (63), 79*1dec39d4SBenjamin Tissoires 0x15, 0xC0, # . Logical Minimum (-64), 80*1dec39d4SBenjamin Tissoires 0x25, 0x3F, # . Logical Maximum (63), 81*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 82*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 83*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 84*1dec39d4SBenjamin Tissoires 0x09, 0x41, # . Usage (41h), 85*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 86*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 87*1dec39d4SBenjamin Tissoires 0x36, 0x4C, 0xFF, # . Physical Minimum (-180), 88*1dec39d4SBenjamin Tissoires 0x46, 0xB3, 0x00, # . Physical Maximum (179), 89*1dec39d4SBenjamin Tissoires 0x16, 0x7C, 0xFC, # . Logical Minimum (-900), 90*1dec39d4SBenjamin Tissoires 0x26, 0x83, 0x03, # . Logical Maximum (899), 91*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 92*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 93*1dec39d4SBenjamin Tissoires 0x81, 0x0A, # . Input (Variable, Wrap), 94*1dec39d4SBenjamin Tissoires 0x0A, 0x03, 0x0D, # . Usage (0D03h), 95*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 96*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 97*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 98*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x07, # . Logical Maximum (2047), # !!! Errata: Missing Physical Min/Max = 0 99*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 100*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 101*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 102*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x01, # . Usage (0132h), 103*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 104*1dec39d4SBenjamin Tissoires 0x25, 0x3F, # . Logical Maximum (63), 105*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 106*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 107*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 108*1dec39d4SBenjamin Tissoires 0x09, 0x5B, # . Usage (5Bh), 109*1dec39d4SBenjamin Tissoires 0x09, 0x5C, # . Usage (5Ch), 110*1dec39d4SBenjamin Tissoires 0x17, 0x00, 0x00, 0x00, 0x80, # . Logical Minimum (-2147483648), 111*1dec39d4SBenjamin Tissoires 0x27, 0xFF, 0xFF, 0xFF, 0x7F, # . Logical Maximum (2147483647), 112*1dec39d4SBenjamin Tissoires 0x75, 0x20, # . Report Size (32), 113*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 114*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 115*1dec39d4SBenjamin Tissoires 0x09, 0x77, # . Usage (77h), 116*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 117*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x0F, # . Logical Maximum (4095), 118*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 119*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 120*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 121*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 122*1dec39d4SBenjamin Tissoires 0x85, 0x11, # . Report ID (17), 123*1dec39d4SBenjamin Tissoires 0x09, 0x39, # . Usage (39h), 124*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 125*1dec39d4SBenjamin Tissoires 0x1A, 0x10, 0x09, # . Usage Minimum (0910h), 126*1dec39d4SBenjamin Tissoires 0x2A, 0x17, 0x09, # . Usage Maximum (0917h), 127*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 128*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 129*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 130*1dec39d4SBenjamin Tissoires 0x95, 0x08, # . Report Count (8), 131*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 132*1dec39d4SBenjamin Tissoires 0x1A, 0x40, 0x09, # . Usage Minimum (0940h), 133*1dec39d4SBenjamin Tissoires 0x2A, 0x47, 0x09, # . Usage Maximum (0947h), 134*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 135*1dec39d4SBenjamin Tissoires 0x0A, 0x95, 0x09, # . Usage (0995h), 136*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 137*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 138*1dec39d4SBenjamin Tissoires 0x95, 0x07, # . Report Count (7), 139*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 140*1dec39d4SBenjamin Tissoires 0x0A, 0x38, 0x01, # . Usage (0138h), 141*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 142*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 143*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 144*1dec39d4SBenjamin Tissoires 0x46, 0x67, 0x01, # . Physical Maximum (359), 145*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 146*1dec39d4SBenjamin Tissoires 0x25, 0x47, # . Logical Maximum (71), 147*1dec39d4SBenjamin Tissoires 0x75, 0x07, # . Report Size (7), 148*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 149*1dec39d4SBenjamin Tissoires 0x81, 0x0A, # . Input (Variable, Wrap), 150*1dec39d4SBenjamin Tissoires 0x0A, 0x39, 0x01, # . Usage (0139h), 151*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 152*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 153*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), # !!! Errata: Missing Physical Max = 0 154*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 155*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 156*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 157*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 158*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 159*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 160*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 161*1dec39d4SBenjamin Tissoires 0x85, 0x13, # . Report ID (19), 162*1dec39d4SBenjamin Tissoires 0x0A, 0x13, 0x10, # . Usage (1013h), 163*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 164*1dec39d4SBenjamin Tissoires 0x0A, 0x3B, 0x04, # . Usage (043Bh), 165*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 166*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 167*1dec39d4SBenjamin Tissoires 0x75, 0x07, # . Report Size (7), 168*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 169*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 170*1dec39d4SBenjamin Tissoires 0x0A, 0x04, 0x04, # . Usage (0404h), 171*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 172*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 173*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 174*1dec39d4SBenjamin Tissoires 0x0A, 0x52, 0x04, # . Usage (0452h), 175*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 176*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 177*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 178*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 179*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 180*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 181*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 182*1dec39d4SBenjamin Tissoires 0x0A, 0x54, 0x04, # . Usage (0454h), 183*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 184*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 185*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 186*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 187*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 188*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 189*1dec39d4SBenjamin Tissoires 0x09, 0x0E, # . Usage (0Eh), 190*1dec39d4SBenjamin Tissoires 0xA1, 0x02, # . Collection (Logical), 191*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 192*1dec39d4SBenjamin Tissoires 0x85, 0x02, # . Report ID (2), 193*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 194*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 195*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 196*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 197*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 198*1dec39d4SBenjamin Tissoires 0x85, 0x03, # . Report ID (3), 199*1dec39d4SBenjamin Tissoires 0x0A, 0x03, 0x10, # . Usage (1003h), 200*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 201*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 202*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 203*1dec39d4SBenjamin Tissoires 0x85, 0x04, # . Report ID (4), 204*1dec39d4SBenjamin Tissoires 0x0A, 0x04, 0x10, # . Usage (1004h), 205*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 206*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 207*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 208*1dec39d4SBenjamin Tissoires 0x85, 0x07, # . Report ID (7), 209*1dec39d4SBenjamin Tissoires 0x0A, 0x09, 0x10, # . Usage (1009h), 210*1dec39d4SBenjamin Tissoires 0x25, 0x02, # . Logical Maximum (2), 211*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 212*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 213*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 214*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 215*1dec39d4SBenjamin Tissoires 0x0A, 0x07, 0x10, # . Usage (1007h), 216*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 217*1dec39d4SBenjamin Tissoires 0x0A, 0x08, 0x10, # . Usage (1008h), 218*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 219*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 220*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 221*1dec39d4SBenjamin Tissoires 0x27, 0xFF, 0xFF, 0x00, 0x00, # . Logical Maximum (65535), 222*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 223*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 224*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 225*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 226*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 227*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 228*1dec39d4SBenjamin Tissoires 0x85, 0x0C, # . Report ID (12), 229*1dec39d4SBenjamin Tissoires 0x0A, 0x30, 0x0D, # . Usage (0D30h), 230*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x0D, # . Usage (0D31h), 231*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x0D, # . Usage (0D32h), 232*1dec39d4SBenjamin Tissoires 0x0A, 0x33, 0x0D, # . Usage (0D33h), # !!! Errata: Missing Non-zero Physical Max 233*1dec39d4SBenjamin Tissoires 0x65, 0x11, # . Unit (Centimeter), 234*1dec39d4SBenjamin Tissoires 0x55, 0x0D, # . Unit Exponent (13), 235*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 236*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 237*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 238*1dec39d4SBenjamin Tissoires 0x85, 0x0D, # . Report ID (13), 239*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 240*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 241*1dec39d4SBenjamin Tissoires 0x0A, 0x0D, 0x10, # . Usage (100Dh), 242*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 243*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 244*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 245*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 246*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 247*1dec39d4SBenjamin Tissoires 0x85, 0x14, # . Report ID (20), 248*1dec39d4SBenjamin Tissoires 0x0A, 0x14, 0x10, # . Usage (1014h), 249*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 250*1dec39d4SBenjamin Tissoires 0x95, 0x0D, # . Report Count (13), 251*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 252*1dec39d4SBenjamin Tissoires 0x85, 0x31, # . Report ID (49), 253*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x10, # . Usage (1031h), 254*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 255*1dec39d4SBenjamin Tissoires 0x95, 0x05, # . Report Count (5), 256*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 257*1dec39d4SBenjamin Tissoires 0x85, 0x32, # . Report ID (50), 258*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x10, # . Usage (1031h), 259*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 260*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 261*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 262*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x10, # . Usage (1032h), 263*1dec39d4SBenjamin Tissoires 0x25, 0x03, # . Logical Maximum (3), 264*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 265*1dec39d4SBenjamin Tissoires 0x85, 0x34, # . Report ID (52), 266*1dec39d4SBenjamin Tissoires 0x0A, 0x34, 0x10, # . Usage (1034h), 267*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 268*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 269*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 270*1dec39d4SBenjamin Tissoires 0x85, 0x35, # . Report ID (53), 271*1dec39d4SBenjamin Tissoires 0x0A, 0x35, 0x10, # . Usage (1035h), 272*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 273*1dec39d4SBenjamin Tissoires 0x95, 0x0A, # . Report Count (10), 274*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 275*1dec39d4SBenjamin Tissoires 0x85, 0x36, # . Report ID (54), 276*1dec39d4SBenjamin Tissoires 0x0A, 0x35, 0x10, # . Usage (1035h), 277*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 278*1dec39d4SBenjamin Tissoires 0x96, 0x01, 0x01, # . Report Count (257), 279*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 280*1dec39d4SBenjamin Tissoires 0x85, 0xCC, # . Report ID (204), 281*1dec39d4SBenjamin Tissoires 0x0A, 0xCC, 0x10, # . Usage (10CCh), 282*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 283*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 284*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 285*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 286*1dec39d4SBenjamin Tissoires 0x0A, 0xAC, 0x10, # . Usage (10ACh), 287*1dec39d4SBenjamin Tissoires 0xA1, 0x02, # . Collection (Logical), 288*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 289*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 290*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 291*1dec39d4SBenjamin Tissoires 0x85, 0xAC, # . Report ID (172), 292*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 293*1dec39d4SBenjamin Tissoires 0x95, 0xBF, # . Report Count (191), 294*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 295*1dec39d4SBenjamin Tissoires 0x85, 0x33, # . Report ID (51), 296*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 297*1dec39d4SBenjamin Tissoires 0x95, 0x12, # . Report Count (18), 298*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 299*1dec39d4SBenjamin Tissoires 0x85, 0x64, # . Report ID (100), 300*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 301*1dec39d4SBenjamin Tissoires 0x95, 0x0C, # . Report Count (12), 302*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 303*1dec39d4SBenjamin Tissoires 0x85, 0x15, # . Report ID (21), 304*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 305*1dec39d4SBenjamin Tissoires 0x95, 0x0E, # . Report Count (14), 306*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 307*1dec39d4SBenjamin Tissoires 0x85, 0x12, # . Report ID (18), 308*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 309*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 310*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 311*1dec39d4SBenjamin Tissoires 0x85, 0x16, # . Report ID (22), 312*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 313*1dec39d4SBenjamin Tissoires 0x95, 0x0E, # . Report Count (14), 314*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 315*1dec39d4SBenjamin Tissoires 0x85, 0x40, # . Report ID (64), 316*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 317*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 318*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 319*1dec39d4SBenjamin Tissoires 0x85, 0x41, # . Report ID (65), 320*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 321*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 322*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 323*1dec39d4SBenjamin Tissoires 0x85, 0x42, # . Report ID (66), 324*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 325*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 326*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 327*1dec39d4SBenjamin Tissoires 0x85, 0x43, # . Report ID (67), 328*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 329*1dec39d4SBenjamin Tissoires 0x95, 0x0D, # . Report Count (13), 330*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 331*1dec39d4SBenjamin Tissoires 0x85, 0x44, # . Report ID (68), 332*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 333*1dec39d4SBenjamin Tissoires 0x95, 0x3F, # . Report Count (63), 334*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 335*1dec39d4SBenjamin Tissoires 0x85, 0x45, # . Report ID (69), 336*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 337*1dec39d4SBenjamin Tissoires 0x95, 0x20, # . Report Count (32), 338*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 339*1dec39d4SBenjamin Tissoires 0x85, 0x60, # . Report ID (96), 340*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 341*1dec39d4SBenjamin Tissoires 0x95, 0x3F, # . Report Count (63), 342*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 343*1dec39d4SBenjamin Tissoires 0x85, 0x61, # . Report ID (97), 344*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 345*1dec39d4SBenjamin Tissoires 0x95, 0x3E, # . Report Count (62), 346*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 347*1dec39d4SBenjamin Tissoires 0x85, 0x62, # . Report ID (98), 348*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 349*1dec39d4SBenjamin Tissoires 0x95, 0x3E, # . Report Count (62), 350*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 351*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 352*1dec39d4SBenjamin Tissoires 0x85, 0xD0, # . Report ID (208), 353*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 354*1dec39d4SBenjamin Tissoires 0x96, 0x08, 0x00, # . Report Count (8), 355*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 356*1dec39d4SBenjamin Tissoires 0x85, 0xD1, # . Report ID (209), 357*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 358*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x01, # . Report Count (260), 359*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 360*1dec39d4SBenjamin Tissoires 0x85, 0xD2, # . Report ID (210), 361*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 362*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x01, # . Report Count (260), 363*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 364*1dec39d4SBenjamin Tissoires 0x85, 0xD3, # . Report ID (211), 365*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 366*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 367*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 368*1dec39d4SBenjamin Tissoires 0x85, 0xD4, # . Report ID (212), 369*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 370*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 371*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 372*1dec39d4SBenjamin Tissoires 0x85, 0xD5, # . Report ID (213), 373*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 374*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 375*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 376*1dec39d4SBenjamin Tissoires 0x85, 0xD6, # . Report ID (214), 377*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 378*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 379*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 380*1dec39d4SBenjamin Tissoires 0x85, 0xD7, # . Report ID (215), 381*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 382*1dec39d4SBenjamin Tissoires 0x96, 0x08, 0x00, # . Report Count (8), 383*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 384*1dec39d4SBenjamin Tissoires 0x85, 0xD8, # . Report ID (216), 385*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 386*1dec39d4SBenjamin Tissoires 0x96, 0x0C, 0x00, # . Report Count (12), 387*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 388*1dec39d4SBenjamin Tissoires 0x85, 0xD9, # . Report ID (217), 389*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 390*1dec39d4SBenjamin Tissoires 0x96, 0x00, 0x0A, # . Report Count (2560), 391*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 392*1dec39d4SBenjamin Tissoires 0x85, 0xDA, # . Report ID (218), 393*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 394*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x04, # . Report Count (1028), 395*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 396*1dec39d4SBenjamin Tissoires 0x85, 0xDB, # . Report ID (219), 397*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 398*1dec39d4SBenjamin Tissoires 0x96, 0x06, 0x00, # . Report Count (6), 399*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 400*1dec39d4SBenjamin Tissoires 0x85, 0xDC, # . Report ID (220), 401*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 402*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 403*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 404*1dec39d4SBenjamin Tissoires 0x85, 0xDD, # . Report ID (221), 405*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 406*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 407*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 408*1dec39d4SBenjamin Tissoires 0x85, 0xDE, # . Report ID (222), 409*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 410*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 411*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 412*1dec39d4SBenjamin Tissoires 0x85, 0xDF, # . Report ID (223), 413*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 414*1dec39d4SBenjamin Tissoires 0x96, 0x22, 0x00, # . Report Count (34), 415*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 416*1dec39d4SBenjamin Tissoires 0x85, 0xE0, # . Report ID (224), 417*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 418*1dec39d4SBenjamin Tissoires 0x96, 0x01, 0x00, # . Report Count (1), 419*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 420*1dec39d4SBenjamin Tissoires 0x85, 0xE1, # . Report ID (225), 421*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 422*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 423*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 424*1dec39d4SBenjamin Tissoires 0x85, 0xE2, # . Report ID (226), 425*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 426*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 427*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 428*1dec39d4SBenjamin Tissoires 0x85, 0xE3, # . Report ID (227), 429*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 430*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 431*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 432*1dec39d4SBenjamin Tissoires 0x85, 0xE4, # . Report ID (228), 433*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 434*1dec39d4SBenjamin Tissoires 0x96, 0xFF, 0x01, # . Report Count (511), 435*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 436*1dec39d4SBenjamin Tissoires 0xC0 # . End Collection 437*1dec39d4SBenjamin Tissoires] 438*1dec39d4SBenjamin Tissoires# fmt: on 439*1dec39d4SBenjamin Tissoires 440*1dec39d4SBenjamin Tissoires# Report ID (20), Usage (1014h), Report Count (13) -> 15 441*1dec39d4SBenjamin Tissoireswacom_pth660_v150 = wacom_pth660_v145.copy() 442*1dec39d4SBenjamin Tissoireswacom_pth660_v150[0x2CB] = 0x0F 443*1dec39d4SBenjamin Tissoires 444*1dec39d4SBenjamin Tissoires# fmt: off 445*1dec39d4SBenjamin Tissoireswacom_pth860_v145 = [ 446*1dec39d4SBenjamin Tissoires 0x05, 0x01, # . Usage Page (Desktop), 447*1dec39d4SBenjamin Tissoires 0x09, 0x02, # . Usage (Mouse), 448*1dec39d4SBenjamin Tissoires 0xA1, 0x01, # . Collection (Application), 449*1dec39d4SBenjamin Tissoires 0x85, 0x01, # . Report ID (1), 450*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (Pointer), 451*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 452*1dec39d4SBenjamin Tissoires 0x05, 0x09, # . Usage Page (Button), 453*1dec39d4SBenjamin Tissoires 0x19, 0x01, # . Usage Minimum (01h), 454*1dec39d4SBenjamin Tissoires 0x29, 0x03, # . Usage Maximum (03h), 455*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 456*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 457*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 458*1dec39d4SBenjamin Tissoires 0x95, 0x03, # . Report Count (3), 459*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 460*1dec39d4SBenjamin Tissoires 0x95, 0x05, # . Report Count (5), 461*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 462*1dec39d4SBenjamin Tissoires 0x05, 0x01, # . Usage Page (Desktop), 463*1dec39d4SBenjamin Tissoires 0x09, 0x30, # . Usage (X), 464*1dec39d4SBenjamin Tissoires 0x09, 0x31, # . Usage (Y), 465*1dec39d4SBenjamin Tissoires 0x15, 0x80, # . Logical Minimum (-128), 466*1dec39d4SBenjamin Tissoires 0x25, 0x7F, # . Logical Maximum (127), 467*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 468*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 469*1dec39d4SBenjamin Tissoires 0x81, 0x06, # . Input (Variable, Relative), 470*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 471*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 472*1dec39d4SBenjamin Tissoires 0x06, 0x0D, 0xFF, # . Usage Page (FF0Dh), 473*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 474*1dec39d4SBenjamin Tissoires 0xA1, 0x01, # . Collection (Application), 475*1dec39d4SBenjamin Tissoires 0x85, 0x10, # . Report ID (16), 476*1dec39d4SBenjamin Tissoires 0x09, 0x20, # . Usage (20h), 477*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 478*1dec39d4SBenjamin Tissoires 0x09, 0x42, # . Usage (42h), 479*1dec39d4SBenjamin Tissoires 0x09, 0x44, # . Usage (44h), 480*1dec39d4SBenjamin Tissoires 0x09, 0x5A, # . Usage (5Ah), 481*1dec39d4SBenjamin Tissoires 0x09, 0x45, # . Usage (45h), 482*1dec39d4SBenjamin Tissoires 0x09, 0x3C, # . Usage (3Ch), 483*1dec39d4SBenjamin Tissoires 0x09, 0x32, # . Usage (32h), 484*1dec39d4SBenjamin Tissoires 0x09, 0x36, # . Usage (36h), 485*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 486*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 487*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 488*1dec39d4SBenjamin Tissoires 0x95, 0x07, # . Report Count (7), 489*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 490*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 491*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 492*1dec39d4SBenjamin Tissoires 0x0A, 0x30, 0x01, # . Usage (0130h), 493*1dec39d4SBenjamin Tissoires 0x65, 0x11, # . Unit (Centimeter), 494*1dec39d4SBenjamin Tissoires 0x55, 0x0D, # . Unit Exponent (13), 495*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 496*1dec39d4SBenjamin Tissoires 0x47, 0x7C, 0x79, 0x00, 0x00, # . Physical Maximum (31100), 497*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 498*1dec39d4SBenjamin Tissoires 0x27, 0xF8, 0xF2, 0x00, 0x00, # . Logical Maximum (62200), 499*1dec39d4SBenjamin Tissoires 0x75, 0x18, # . Report Size (24), 500*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 501*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 502*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x01, # . Usage (0131h), 503*1dec39d4SBenjamin Tissoires 0x47, 0x60, 0x54, 0x00, 0x00, # . Physical Maximum (21600), 504*1dec39d4SBenjamin Tissoires 0x27, 0xC0, 0xA8, 0x00, 0x00, # . Logical Maximum (43200), 505*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 506*1dec39d4SBenjamin Tissoires 0x09, 0x30, # . Usage (30h), # !!! Errata: Missing Physical Max = 0 507*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 508*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 509*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 510*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x1F, # . Logical Maximum (8191), 511*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 512*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 513*1dec39d4SBenjamin Tissoires 0x09, 0x3D, # . Usage (3Dh), 514*1dec39d4SBenjamin Tissoires 0x09, 0x3E, # . Usage (3Eh), 515*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 516*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 517*1dec39d4SBenjamin Tissoires 0x35, 0xC0, # . Physical Minimum (-64), 518*1dec39d4SBenjamin Tissoires 0x45, 0x3F, # . Physical Maximum (63), 519*1dec39d4SBenjamin Tissoires 0x15, 0xC0, # . Logical Minimum (-64), 520*1dec39d4SBenjamin Tissoires 0x25, 0x3F, # . Logical Maximum (63), 521*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 522*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 523*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 524*1dec39d4SBenjamin Tissoires 0x09, 0x41, # . Usage (41h), 525*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 526*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 527*1dec39d4SBenjamin Tissoires 0x36, 0x4C, 0xFF, # . Physical Minimum (-180), 528*1dec39d4SBenjamin Tissoires 0x46, 0xB3, 0x00, # . Physical Maximum (179), 529*1dec39d4SBenjamin Tissoires 0x16, 0x7C, 0xFC, # . Logical Minimum (-900), 530*1dec39d4SBenjamin Tissoires 0x26, 0x83, 0x03, # . Logical Maximum (899), 531*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 532*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 533*1dec39d4SBenjamin Tissoires 0x81, 0x0A, # . Input (Variable, Wrap), 534*1dec39d4SBenjamin Tissoires 0x0A, 0x03, 0x0D, # . Usage (0D03h), 535*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 536*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 537*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 538*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x07, # . Logical Maximum (2047), # !!! Errata: Missing Physical Min/Max = 0 539*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 540*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 541*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 542*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x01, # . Usage (0132h), 543*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 544*1dec39d4SBenjamin Tissoires 0x25, 0x3F, # . Logical Maximum (63), 545*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 546*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 547*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 548*1dec39d4SBenjamin Tissoires 0x09, 0x5B, # . Usage (5Bh), 549*1dec39d4SBenjamin Tissoires 0x09, 0x5C, # . Usage (5Ch), 550*1dec39d4SBenjamin Tissoires 0x17, 0x00, 0x00, 0x00, 0x80, # . Logical Minimum (-2147483648), 551*1dec39d4SBenjamin Tissoires 0x27, 0xFF, 0xFF, 0xFF, 0x7F, # . Logical Maximum (2147483647), 552*1dec39d4SBenjamin Tissoires 0x75, 0x20, # . Report Size (32), 553*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 554*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 555*1dec39d4SBenjamin Tissoires 0x09, 0x77, # . Usage (77h), 556*1dec39d4SBenjamin Tissoires 0x16, 0x00, 0x00, # . Logical Minimum (0), 557*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x0F, # . Logical Maximum (4095), 558*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 559*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 560*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 561*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 562*1dec39d4SBenjamin Tissoires 0x85, 0x11, # . Report ID (17), 563*1dec39d4SBenjamin Tissoires 0x09, 0x39, # . Usage (39h), 564*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 565*1dec39d4SBenjamin Tissoires 0x1A, 0x10, 0x09, # . Usage Minimum (0910h), 566*1dec39d4SBenjamin Tissoires 0x2A, 0x17, 0x09, # . Usage Maximum (0917h), 567*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 568*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 569*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 570*1dec39d4SBenjamin Tissoires 0x95, 0x08, # . Report Count (8), 571*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 572*1dec39d4SBenjamin Tissoires 0x1A, 0x40, 0x09, # . Usage Minimum (0940h), 573*1dec39d4SBenjamin Tissoires 0x2A, 0x47, 0x09, # . Usage Maximum (0947h), 574*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 575*1dec39d4SBenjamin Tissoires 0x0A, 0x95, 0x09, # . Usage (0995h), 576*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 577*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 578*1dec39d4SBenjamin Tissoires 0x95, 0x07, # . Report Count (7), 579*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 580*1dec39d4SBenjamin Tissoires 0x0A, 0x38, 0x01, # . Usage (0138h), 581*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 582*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 583*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 584*1dec39d4SBenjamin Tissoires 0x46, 0x67, 0x01, # . Physical Maximum (359), 585*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 586*1dec39d4SBenjamin Tissoires 0x25, 0x47, # . Logical Maximum (71), 587*1dec39d4SBenjamin Tissoires 0x75, 0x07, # . Report Size (7), 588*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 589*1dec39d4SBenjamin Tissoires 0x81, 0x0A, # . Input (Variable, Wrap), 590*1dec39d4SBenjamin Tissoires 0x0A, 0x39, 0x01, # . Usage (0139h), 591*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 592*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 593*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), # !!! Errata: Missing Physical Max = 0 594*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 595*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 596*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 597*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 598*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 599*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 600*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 601*1dec39d4SBenjamin Tissoires 0x85, 0x13, # . Report ID (19), 602*1dec39d4SBenjamin Tissoires 0x0A, 0x13, 0x10, # . Usage (1013h), 603*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 604*1dec39d4SBenjamin Tissoires 0x0A, 0x3B, 0x04, # . Usage (043Bh), 605*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 606*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 607*1dec39d4SBenjamin Tissoires 0x75, 0x07, # . Report Size (7), 608*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 609*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 610*1dec39d4SBenjamin Tissoires 0x0A, 0x04, 0x04, # . Usage (0404h), 611*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 612*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 613*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 614*1dec39d4SBenjamin Tissoires 0x0A, 0x52, 0x04, # . Usage (0452h), 615*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 616*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 617*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 618*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 619*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 620*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 621*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 622*1dec39d4SBenjamin Tissoires 0x0A, 0x54, 0x04, # . Usage (0454h), 623*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 624*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 625*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 626*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 627*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 628*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 629*1dec39d4SBenjamin Tissoires 0x09, 0x0E, # . Usage (0Eh), 630*1dec39d4SBenjamin Tissoires 0xA1, 0x02, # . Collection (Logical), 631*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 632*1dec39d4SBenjamin Tissoires 0x85, 0x02, # . Report ID (2), 633*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 634*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 635*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 636*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 637*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 638*1dec39d4SBenjamin Tissoires 0x85, 0x03, # . Report ID (3), 639*1dec39d4SBenjamin Tissoires 0x0A, 0x03, 0x10, # . Usage (1003h), 640*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 641*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 642*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 643*1dec39d4SBenjamin Tissoires 0x85, 0x04, # . Report ID (4), 644*1dec39d4SBenjamin Tissoires 0x0A, 0x04, 0x10, # . Usage (1004h), 645*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 646*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 647*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 648*1dec39d4SBenjamin Tissoires 0x85, 0x07, # . Report ID (7), 649*1dec39d4SBenjamin Tissoires 0x0A, 0x09, 0x10, # . Usage (1009h), 650*1dec39d4SBenjamin Tissoires 0x25, 0x02, # . Logical Maximum (2), 651*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 652*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 653*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 654*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 655*1dec39d4SBenjamin Tissoires 0x0A, 0x07, 0x10, # . Usage (1007h), 656*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 657*1dec39d4SBenjamin Tissoires 0x0A, 0x08, 0x10, # . Usage (1008h), 658*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 659*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 660*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 661*1dec39d4SBenjamin Tissoires 0x27, 0xFF, 0xFF, 0x00, 0x00, # . Logical Maximum (65535), 662*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 663*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 664*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 665*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 666*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 667*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 668*1dec39d4SBenjamin Tissoires 0x85, 0x0C, # . Report ID (12), 669*1dec39d4SBenjamin Tissoires 0x0A, 0x30, 0x0D, # . Usage (0D30h), 670*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x0D, # . Usage (0D31h), 671*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x0D, # . Usage (0D32h), 672*1dec39d4SBenjamin Tissoires 0x0A, 0x33, 0x0D, # . Usage (0D33h), # !!! Errata: Missing Non-zero Physical Max 673*1dec39d4SBenjamin Tissoires 0x65, 0x11, # . Unit (Centimeter), 674*1dec39d4SBenjamin Tissoires 0x55, 0x0D, # . Unit Exponent (13), 675*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 676*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 677*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 678*1dec39d4SBenjamin Tissoires 0x85, 0x0D, # . Report ID (13), 679*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 680*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 681*1dec39d4SBenjamin Tissoires 0x0A, 0x0D, 0x10, # . Usage (100Dh), 682*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 683*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 684*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 685*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 686*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 687*1dec39d4SBenjamin Tissoires 0x85, 0x14, # . Report ID (20), 688*1dec39d4SBenjamin Tissoires 0x0A, 0x14, 0x10, # . Usage (1014h), 689*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 690*1dec39d4SBenjamin Tissoires 0x95, 0x0D, # . Report Count (13), 691*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 692*1dec39d4SBenjamin Tissoires 0x85, 0x31, # . Report ID (49), 693*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x10, # . Usage (1031h), 694*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 695*1dec39d4SBenjamin Tissoires 0x95, 0x05, # . Report Count (5), 696*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 697*1dec39d4SBenjamin Tissoires 0x85, 0x32, # . Report ID (50), 698*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x10, # . Usage (1031h), 699*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 700*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 701*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 702*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x10, # . Usage (1032h), 703*1dec39d4SBenjamin Tissoires 0x25, 0x03, # . Logical Maximum (3), 704*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 705*1dec39d4SBenjamin Tissoires 0x85, 0x34, # . Report ID (52), 706*1dec39d4SBenjamin Tissoires 0x0A, 0x34, 0x10, # . Usage (1034h), 707*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 708*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 709*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 710*1dec39d4SBenjamin Tissoires 0x85, 0x35, # . Report ID (53), 711*1dec39d4SBenjamin Tissoires 0x0A, 0x35, 0x10, # . Usage (1035h), 712*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 713*1dec39d4SBenjamin Tissoires 0x95, 0x0A, # . Report Count (10), 714*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 715*1dec39d4SBenjamin Tissoires 0x85, 0x36, # . Report ID (54), 716*1dec39d4SBenjamin Tissoires 0x0A, 0x35, 0x10, # . Usage (1035h), 717*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 718*1dec39d4SBenjamin Tissoires 0x96, 0x01, 0x01, # . Report Count (257), 719*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 720*1dec39d4SBenjamin Tissoires 0x85, 0xCC, # . Report ID (204), 721*1dec39d4SBenjamin Tissoires 0x0A, 0xCC, 0x10, # . Usage (10CCh), 722*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 723*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 724*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 725*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 726*1dec39d4SBenjamin Tissoires 0x0A, 0xAC, 0x10, # . Usage (10ACh), 727*1dec39d4SBenjamin Tissoires 0xA1, 0x02, # . Collection (Logical), 728*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 729*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 730*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 731*1dec39d4SBenjamin Tissoires 0x85, 0xAC, # . Report ID (172), 732*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 733*1dec39d4SBenjamin Tissoires 0x95, 0xBF, # . Report Count (191), 734*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 735*1dec39d4SBenjamin Tissoires 0x85, 0x33, # . Report ID (51), 736*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 737*1dec39d4SBenjamin Tissoires 0x95, 0x12, # . Report Count (18), 738*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 739*1dec39d4SBenjamin Tissoires 0x85, 0x64, # . Report ID (100), 740*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 741*1dec39d4SBenjamin Tissoires 0x95, 0x0C, # . Report Count (12), 742*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 743*1dec39d4SBenjamin Tissoires 0x85, 0x15, # . Report ID (21), 744*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 745*1dec39d4SBenjamin Tissoires 0x95, 0x0E, # . Report Count (14), 746*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 747*1dec39d4SBenjamin Tissoires 0x85, 0x12, # . Report ID (18), 748*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 749*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 750*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 751*1dec39d4SBenjamin Tissoires 0x85, 0x16, # . Report ID (22), 752*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 753*1dec39d4SBenjamin Tissoires 0x95, 0x0E, # . Report Count (14), 754*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 755*1dec39d4SBenjamin Tissoires 0x85, 0x40, # . Report ID (64), 756*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 757*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 758*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 759*1dec39d4SBenjamin Tissoires 0x85, 0x41, # . Report ID (65), 760*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 761*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 762*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 763*1dec39d4SBenjamin Tissoires 0x85, 0x42, # . Report ID (66), 764*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 765*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 766*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 767*1dec39d4SBenjamin Tissoires 0x85, 0x43, # . Report ID (67), 768*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 769*1dec39d4SBenjamin Tissoires 0x95, 0x0D, # . Report Count (13), 770*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 771*1dec39d4SBenjamin Tissoires 0x85, 0x44, # . Report ID (68), 772*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 773*1dec39d4SBenjamin Tissoires 0x95, 0x3F, # . Report Count (63), 774*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 775*1dec39d4SBenjamin Tissoires 0x85, 0x45, # . Report ID (69), 776*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 777*1dec39d4SBenjamin Tissoires 0x95, 0x20, # . Report Count (32), 778*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 779*1dec39d4SBenjamin Tissoires 0x85, 0x60, # . Report ID (96), 780*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 781*1dec39d4SBenjamin Tissoires 0x95, 0x3F, # . Report Count (63), 782*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 783*1dec39d4SBenjamin Tissoires 0x85, 0x61, # . Report ID (97), 784*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 785*1dec39d4SBenjamin Tissoires 0x95, 0x3E, # . Report Count (62), 786*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 787*1dec39d4SBenjamin Tissoires 0x85, 0x62, # . Report ID (98), 788*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 789*1dec39d4SBenjamin Tissoires 0x95, 0x3E, # . Report Count (62), 790*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 791*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 792*1dec39d4SBenjamin Tissoires 0x85, 0xD0, # . Report ID (208), 793*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 794*1dec39d4SBenjamin Tissoires 0x96, 0x08, 0x00, # . Report Count (8), 795*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 796*1dec39d4SBenjamin Tissoires 0x85, 0xD1, # . Report ID (209), 797*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 798*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x01, # . Report Count (260), 799*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 800*1dec39d4SBenjamin Tissoires 0x85, 0xD2, # . Report ID (210), 801*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 802*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x01, # . Report Count (260), 803*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 804*1dec39d4SBenjamin Tissoires 0x85, 0xD3, # . Report ID (211), 805*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 806*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 807*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 808*1dec39d4SBenjamin Tissoires 0x85, 0xD4, # . Report ID (212), 809*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 810*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 811*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 812*1dec39d4SBenjamin Tissoires 0x85, 0xD5, # . Report ID (213), 813*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 814*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 815*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 816*1dec39d4SBenjamin Tissoires 0x85, 0xD6, # . Report ID (214), 817*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 818*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 819*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 820*1dec39d4SBenjamin Tissoires 0x85, 0xD7, # . Report ID (215), 821*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 822*1dec39d4SBenjamin Tissoires 0x96, 0x08, 0x00, # . Report Count (8), 823*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 824*1dec39d4SBenjamin Tissoires 0x85, 0xD8, # . Report ID (216), 825*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 826*1dec39d4SBenjamin Tissoires 0x96, 0x0C, 0x00, # . Report Count (12), 827*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 828*1dec39d4SBenjamin Tissoires 0x85, 0xD9, # . Report ID (217), 829*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 830*1dec39d4SBenjamin Tissoires 0x96, 0x00, 0x0A, # . Report Count (2560), 831*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 832*1dec39d4SBenjamin Tissoires 0x85, 0xDA, # . Report ID (218), 833*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 834*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x04, # . Report Count (1028), 835*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 836*1dec39d4SBenjamin Tissoires 0x85, 0xDB, # . Report ID (219), 837*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 838*1dec39d4SBenjamin Tissoires 0x96, 0x06, 0x00, # . Report Count (6), 839*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 840*1dec39d4SBenjamin Tissoires 0x85, 0xDC, # . Report ID (220), 841*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 842*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 843*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 844*1dec39d4SBenjamin Tissoires 0x85, 0xDD, # . Report ID (221), 845*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 846*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 847*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 848*1dec39d4SBenjamin Tissoires 0x85, 0xDE, # . Report ID (222), 849*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 850*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 851*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 852*1dec39d4SBenjamin Tissoires 0x85, 0xDF, # . Report ID (223), 853*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 854*1dec39d4SBenjamin Tissoires 0x96, 0x22, 0x00, # . Report Count (34), 855*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 856*1dec39d4SBenjamin Tissoires 0x85, 0xE0, # . Report ID (224), 857*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 858*1dec39d4SBenjamin Tissoires 0x96, 0x01, 0x00, # . Report Count (1), 859*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 860*1dec39d4SBenjamin Tissoires 0x85, 0xE1, # . Report ID (225), 861*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 862*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 863*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 864*1dec39d4SBenjamin Tissoires 0x85, 0xE2, # . Report ID (226), 865*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 866*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 867*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 868*1dec39d4SBenjamin Tissoires 0x85, 0xE3, # . Report ID (227), 869*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 870*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 871*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 872*1dec39d4SBenjamin Tissoires 0x85, 0xE4, # . Report ID (228), 873*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 874*1dec39d4SBenjamin Tissoires 0x96, 0xFF, 0x01, # . Report Count (511), 875*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 876*1dec39d4SBenjamin Tissoires 0xC0 # . End Collection 877*1dec39d4SBenjamin Tissoires] 878*1dec39d4SBenjamin Tissoires# fmt: on 879*1dec39d4SBenjamin Tissoires 880*1dec39d4SBenjamin Tissoires# Report ID (20), Usage (1014h), Report Count (13) -> 15 881*1dec39d4SBenjamin Tissoireswacom_pth860_v150 = wacom_pth860_v145.copy() 882*1dec39d4SBenjamin Tissoireswacom_pth860_v150[0x2CA] = 0x0F 883*1dec39d4SBenjamin Tissoires 884*1dec39d4SBenjamin Tissoires# fmt: off 885*1dec39d4SBenjamin Tissoireswacom_pth460_v105 = [ 886*1dec39d4SBenjamin Tissoires 0x06, 0x0D, 0xFF, # . Usage Page (FF0Dh), 887*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 888*1dec39d4SBenjamin Tissoires 0xA1, 0x01, # . Collection (Application), 889*1dec39d4SBenjamin Tissoires 0x85, 0x10, # . Report ID (16), 890*1dec39d4SBenjamin Tissoires 0x09, 0x20, # . Usage (20h), 891*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 892*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 893*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 894*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 895*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 896*1dec39d4SBenjamin Tissoires 0x09, 0x42, # . Usage (42h), 897*1dec39d4SBenjamin Tissoires 0x09, 0x44, # . Usage (44h), 898*1dec39d4SBenjamin Tissoires 0x09, 0x5A, # . Usage (5Ah), 899*1dec39d4SBenjamin Tissoires 0x09, 0x45, # . Usage (45h), 900*1dec39d4SBenjamin Tissoires 0x09, 0x3C, # . Usage (3Ch), 901*1dec39d4SBenjamin Tissoires 0x09, 0x32, # . Usage (32h), 902*1dec39d4SBenjamin Tissoires 0x09, 0x36, # . Usage (36h), 903*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 904*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 905*1dec39d4SBenjamin Tissoires 0x95, 0x07, # . Report Count (7), 906*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 907*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 908*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 909*1dec39d4SBenjamin Tissoires 0x0A, 0x30, 0x01, # . Usage (0130h), 910*1dec39d4SBenjamin Tissoires 0x65, 0x11, # . Unit (Centimeter), 911*1dec39d4SBenjamin Tissoires 0x55, 0x0D, # . Unit Exponent (13), 912*1dec39d4SBenjamin Tissoires 0x47, 0x58, 0x3E, 0x00, 0x00, # . Physical Maximum (15960), 913*1dec39d4SBenjamin Tissoires 0x27, 0xB0, 0x7C, 0x00, 0x00, # . Logical Maximum (31920), 914*1dec39d4SBenjamin Tissoires 0x75, 0x18, # . Report Size (24), 915*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 916*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 917*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x01, # . Usage (0131h), 918*1dec39d4SBenjamin Tissoires 0x47, 0xF7, 0x26, 0x00, 0x00, # . Physical Maximum (9975), 919*1dec39d4SBenjamin Tissoires 0x27, 0xEE, 0x4D, 0x00, 0x00, # . Logical Maximum (19950), 920*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 921*1dec39d4SBenjamin Tissoires 0x09, 0x30, # . Usage (30h), 922*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 923*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 924*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x1F, # . Logical Maximum (8191), # !!! Errata: Missing Physical Max = 0 925*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 926*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 927*1dec39d4SBenjamin Tissoires 0x09, 0x3D, # . Usage (3Dh), 928*1dec39d4SBenjamin Tissoires 0x09, 0x3E, # . Usage (3Eh), 929*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 930*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 931*1dec39d4SBenjamin Tissoires 0x35, 0xC0, # . Physical Minimum (-64), 932*1dec39d4SBenjamin Tissoires 0x45, 0x3F, # . Physical Maximum (63), 933*1dec39d4SBenjamin Tissoires 0x15, 0xC0, # . Logical Minimum (-64), 934*1dec39d4SBenjamin Tissoires 0x25, 0x3F, # . Logical Maximum (63), 935*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 936*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 937*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 938*1dec39d4SBenjamin Tissoires 0x09, 0x41, # . Usage (41h), 939*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 940*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 941*1dec39d4SBenjamin Tissoires 0x36, 0x4C, 0xFF, # . Physical Minimum (-180), 942*1dec39d4SBenjamin Tissoires 0x46, 0xB3, 0x00, # . Physical Maximum (179), 943*1dec39d4SBenjamin Tissoires 0x16, 0x7C, 0xFC, # . Logical Minimum (-900), 944*1dec39d4SBenjamin Tissoires 0x26, 0x83, 0x03, # . Logical Maximum (899), 945*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 946*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 947*1dec39d4SBenjamin Tissoires 0x81, 0x0A, # . Input (Variable, Wrap), 948*1dec39d4SBenjamin Tissoires 0x0A, 0x03, 0x0D, # . Usage (0D03h), 949*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 950*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 951*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 952*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 953*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 954*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x07, # . Logical Maximum (2047), 955*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 956*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x01, # . Usage (0132h), 957*1dec39d4SBenjamin Tissoires 0x25, 0x3F, # . Logical Maximum (63), 958*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 959*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 960*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 961*1dec39d4SBenjamin Tissoires 0x09, 0x5B, # . Usage (5Bh), 962*1dec39d4SBenjamin Tissoires 0x09, 0x5C, # . Usage (5Ch), 963*1dec39d4SBenjamin Tissoires 0x17, 0x00, 0x00, 0x00, 0x80, # . Logical Minimum (-2147483648), 964*1dec39d4SBenjamin Tissoires 0x27, 0xFF, 0xFF, 0xFF, 0x7F, # . Logical Maximum (2147483647), 965*1dec39d4SBenjamin Tissoires 0x75, 0x20, # . Report Size (32), 966*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 967*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 968*1dec39d4SBenjamin Tissoires 0x09, 0x77, # . Usage (77h), 969*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 970*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x0F, # . Logical Maximum (4095), 971*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 972*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 973*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 974*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 975*1dec39d4SBenjamin Tissoires 0x85, 0x11, # . Report ID (17), 976*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 977*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 978*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 979*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 980*1dec39d4SBenjamin Tissoires 0x09, 0x39, # . Usage (39h), 981*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 982*1dec39d4SBenjamin Tissoires 0x09, 0x39, # . Usage (39h), 983*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 984*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 985*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 986*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 987*1dec39d4SBenjamin Tissoires 0x1A, 0x10, 0x09, # . Usage Minimum (0910h), 988*1dec39d4SBenjamin Tissoires 0x2A, 0x15, 0x09, # . Usage Maximum (0915h), 989*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 990*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 991*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 992*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 993*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 994*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 995*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 996*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 997*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 998*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 999*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 1000*1dec39d4SBenjamin Tissoires 0x09, 0x39, # . Usage (39h), 1001*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 1002*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1003*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1004*1dec39d4SBenjamin Tissoires 0x0A, 0x95, 0x09, # . Usage (0995h), 1005*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1006*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 1007*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 1008*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1009*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1010*1dec39d4SBenjamin Tissoires 0x95, 0x07, # . Report Count (7), 1011*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 1012*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1013*1dec39d4SBenjamin Tissoires 0x09, 0x39, # . Usage (39h), 1014*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 1015*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1016*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1017*1dec39d4SBenjamin Tissoires 0x0A, 0x38, 0x01, # . Usage (0138h), 1018*1dec39d4SBenjamin Tissoires 0x65, 0x14, # . Unit (Degrees), 1019*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 1020*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1021*1dec39d4SBenjamin Tissoires 0x46, 0x67, 0x01, # . Physical Maximum (359), 1022*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1023*1dec39d4SBenjamin Tissoires 0x25, 0x47, # . Logical Maximum (71), 1024*1dec39d4SBenjamin Tissoires 0x75, 0x07, # . Report Size (7), 1025*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1026*1dec39d4SBenjamin Tissoires 0x81, 0x4A, # . Input (Variable, Wrap, Null State), 1027*1dec39d4SBenjamin Tissoires 0x0A, 0x39, 0x01, # . Usage (0139h), 1028*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 1029*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 1030*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1031*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 1032*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 1033*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1034*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1035*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1036*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 1037*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 1038*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 1039*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1040*1dec39d4SBenjamin Tissoires 0x85, 0x13, # . Report ID (19), 1041*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 1042*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 1043*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1044*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1045*1dec39d4SBenjamin Tissoires 0x0A, 0x13, 0x10, # . Usage (1013h), 1046*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 1047*1dec39d4SBenjamin Tissoires 0x0A, 0x13, 0x10, # . Usage (1013h), 1048*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 1049*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1050*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1051*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1052*1dec39d4SBenjamin Tissoires 0x0A, 0x3B, 0x04, # . Usage (043Bh), 1053*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1054*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 1055*1dec39d4SBenjamin Tissoires 0x75, 0x07, # . Report Size (7), 1056*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1057*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1058*1dec39d4SBenjamin Tissoires 0x0A, 0x04, 0x04, # . Usage (0404h), 1059*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 1060*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 1061*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1062*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1063*1dec39d4SBenjamin Tissoires 0x0A, 0x13, 0x10, # . Usage (1013h), 1064*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 1065*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1066*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1067*1dec39d4SBenjamin Tissoires 0x0A, 0x52, 0x04, # . Usage (0452h), 1068*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1069*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 1070*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 1071*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1072*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1073*1dec39d4SBenjamin Tissoires 0x0A, 0x41, 0x04, # . Usage (0441h), 1074*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1075*1dec39d4SBenjamin Tissoires 0x25, 0x07, # . Logical Maximum (7), 1076*1dec39d4SBenjamin Tissoires 0x75, 0x03, # . Report Size (3), 1077*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 1078*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1079*1dec39d4SBenjamin Tissoires 0x0A, 0x54, 0x04, # . Usage (0454h), 1080*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1081*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 1082*1dec39d4SBenjamin Tissoires 0x75, 0x01, # . Report Size (1), 1083*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1084*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1085*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1086*1dec39d4SBenjamin Tissoires 0x0A, 0x13, 0x10, # . Usage (1013h), 1087*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 1088*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1089*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1090*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1091*1dec39d4SBenjamin Tissoires 0x0A, 0x3C, 0x04, # . Usage (043Ch), 1092*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 1093*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 1094*1dec39d4SBenjamin Tissoires 0x15, 0xFB, # . Logical Minimum (-5), 1095*1dec39d4SBenjamin Tissoires 0x25, 0x32, # . Logical Maximum (50), 1096*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 1097*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1098*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1099*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1100*1dec39d4SBenjamin Tissoires 0x0A, 0x13, 0x10, # . Usage (1013h), 1101*1dec39d4SBenjamin Tissoires 0xA1, 0x00, # . Collection (Physical), 1102*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1103*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1104*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1105*1dec39d4SBenjamin Tissoires 0x0A, 0x3D, 0x04, # . Usage (043Dh), 1106*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 1107*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 1108*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1109*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x0F, # . Logical Maximum (4095), 1110*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 1111*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1112*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1113*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1114*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 1115*1dec39d4SBenjamin Tissoires 0x95, 0x03, # . Report Count (3), 1116*1dec39d4SBenjamin Tissoires 0x81, 0x03, # . Input (Constant, Variable), 1117*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1118*1dec39d4SBenjamin Tissoires 0x09, 0x0E, # . Usage (0Eh), 1119*1dec39d4SBenjamin Tissoires 0xA1, 0x02, # . Collection (Logical), 1120*1dec39d4SBenjamin Tissoires 0x85, 0x02, # . Report ID (2), 1121*1dec39d4SBenjamin Tissoires 0x0A, 0x02, 0x10, # . Usage (1002h), 1122*1dec39d4SBenjamin Tissoires 0x15, 0x02, # . Logical Minimum (2), 1123*1dec39d4SBenjamin Tissoires 0x25, 0x02, # . Logical Maximum (2), 1124*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 1125*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1126*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1127*1dec39d4SBenjamin Tissoires 0x85, 0x03, # . Report ID (3), 1128*1dec39d4SBenjamin Tissoires 0x0A, 0x03, 0x10, # . Usage (1003h), 1129*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1130*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 1131*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1132*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1133*1dec39d4SBenjamin Tissoires 0x85, 0x04, # . Report ID (4), 1134*1dec39d4SBenjamin Tissoires 0x0A, 0x04, 0x10, # . Usage (1004h), 1135*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1136*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 1137*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1138*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1139*1dec39d4SBenjamin Tissoires 0x85, 0x07, # . Report ID (7), 1140*1dec39d4SBenjamin Tissoires 0x0A, 0x09, 0x10, # . Usage (1009h), 1141*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1142*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 1143*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1144*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1145*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 1146*1dec39d4SBenjamin Tissoires 0x0A, 0x07, 0x10, # . Usage (1007h), 1147*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1148*1dec39d4SBenjamin Tissoires 0x0A, 0x08, 0x10, # . Usage (1008h), 1149*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1150*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1151*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1152*1dec39d4SBenjamin Tissoires 0x27, 0xFF, 0xFF, 0x00, 0x00, # . Logical Maximum (65535), 1153*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 1154*1dec39d4SBenjamin Tissoires 0x95, 0x06, # . Report Count (6), 1155*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1156*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1157*1dec39d4SBenjamin Tissoires 0x25, 0x00, # . Logical Maximum (0), 1158*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 1159*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1160*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 1161*1dec39d4SBenjamin Tissoires 0x85, 0x0C, # . Report ID (12), 1162*1dec39d4SBenjamin Tissoires 0x0A, 0x30, 0x0D, # . Usage (0D30h), 1163*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x0D, # . Usage (0D31h), 1164*1dec39d4SBenjamin Tissoires 0x0A, 0x32, 0x0D, # . Usage (0D32h), 1165*1dec39d4SBenjamin Tissoires 0x0A, 0x33, 0x0D, # . Usage (0D33h), 1166*1dec39d4SBenjamin Tissoires 0x65, 0x11, # . Unit (Centimeter), 1167*1dec39d4SBenjamin Tissoires 0x55, 0x0D, # . Unit Exponent (13), 1168*1dec39d4SBenjamin Tissoires 0x35, 0x00, # . Physical Minimum (0), 1169*1dec39d4SBenjamin Tissoires 0x46, 0xC8, 0x00, # . Physical Maximum (200), 1170*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1171*1dec39d4SBenjamin Tissoires 0x26, 0x90, 0x01, # . Logical Maximum (400), 1172*1dec39d4SBenjamin Tissoires 0x75, 0x10, # . Report Size (16), 1173*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 1174*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1175*1dec39d4SBenjamin Tissoires 0x85, 0x0D, # . Report ID (13), 1176*1dec39d4SBenjamin Tissoires 0x0A, 0x0D, 0x10, # . Usage (100Dh), 1177*1dec39d4SBenjamin Tissoires 0x65, 0x00, # . Unit, 1178*1dec39d4SBenjamin Tissoires 0x55, 0x00, # . Unit Exponent (0), 1179*1dec39d4SBenjamin Tissoires 0x45, 0x00, # . Physical Maximum (0), 1180*1dec39d4SBenjamin Tissoires 0x25, 0x01, # . Logical Maximum (1), 1181*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 1182*1dec39d4SBenjamin Tissoires 0x95, 0x01, # . Report Count (1), 1183*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1184*1dec39d4SBenjamin Tissoires 0x85, 0x14, # . Report ID (20), 1185*1dec39d4SBenjamin Tissoires 0x0A, 0x14, 0x10, # . Usage (1014h), 1186*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 1187*1dec39d4SBenjamin Tissoires 0x95, 0x0D, # . Report Count (13), 1188*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1189*1dec39d4SBenjamin Tissoires 0x85, 0xCC, # . Report ID (204), 1190*1dec39d4SBenjamin Tissoires 0x0A, 0xCC, 0x10, # . Usage (10CCh), 1191*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 1192*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1193*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1194*1dec39d4SBenjamin Tissoires 0x09, 0x0E, # . Usage (0Eh), 1195*1dec39d4SBenjamin Tissoires 0xA1, 0x02, # . Collection (Logical), 1196*1dec39d4SBenjamin Tissoires 0x85, 0x31, # . Report ID (49), 1197*1dec39d4SBenjamin Tissoires 0x0A, 0x31, 0x10, # . Usage (1031h), 1198*1dec39d4SBenjamin Tissoires 0x25, 0x64, # . Logical Maximum (100), 1199*1dec39d4SBenjamin Tissoires 0x95, 0x03, # . Report Count (3), 1200*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1201*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 1202*1dec39d4SBenjamin Tissoires 0xB1, 0x03, # . Feature (Constant, Variable), 1203*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1204*1dec39d4SBenjamin Tissoires 0x0A, 0xAC, 0x10, # . Usage (10ACh), 1205*1dec39d4SBenjamin Tissoires 0xA1, 0x02, # . Collection (Logical), 1206*1dec39d4SBenjamin Tissoires 0x15, 0x00, # . Logical Minimum (0), 1207*1dec39d4SBenjamin Tissoires 0x26, 0xFF, 0x00, # . Logical Maximum (255), 1208*1dec39d4SBenjamin Tissoires 0x75, 0x08, # . Report Size (8), 1209*1dec39d4SBenjamin Tissoires 0x85, 0xAC, # . Report ID (172), 1210*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1211*1dec39d4SBenjamin Tissoires 0x96, 0xBF, 0x00, # . Report Count (191), 1212*1dec39d4SBenjamin Tissoires 0x81, 0x02, # . Input (Variable), 1213*1dec39d4SBenjamin Tissoires 0x85, 0x15, # . Report ID (21), 1214*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1215*1dec39d4SBenjamin Tissoires 0x95, 0x0E, # . Report Count (14), 1216*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1217*1dec39d4SBenjamin Tissoires 0x85, 0x33, # . Report ID (51), 1218*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1219*1dec39d4SBenjamin Tissoires 0x95, 0x12, # . Report Count (18), 1220*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1221*1dec39d4SBenjamin Tissoires 0x85, 0x44, # . Report ID (68), 1222*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1223*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 1224*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1225*1dec39d4SBenjamin Tissoires 0x85, 0x45, # . Report ID (69), 1226*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1227*1dec39d4SBenjamin Tissoires 0x95, 0x20, # . Report Count (32), 1228*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1229*1dec39d4SBenjamin Tissoires 0x85, 0x60, # . Report ID (96), 1230*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1231*1dec39d4SBenjamin Tissoires 0x95, 0x3F, # . Report Count (63), 1232*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1233*1dec39d4SBenjamin Tissoires 0x85, 0x61, # . Report ID (97), 1234*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1235*1dec39d4SBenjamin Tissoires 0x95, 0x3E, # . Report Count (62), 1236*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1237*1dec39d4SBenjamin Tissoires 0x85, 0x62, # . Report ID (98), 1238*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1239*1dec39d4SBenjamin Tissoires 0x95, 0x3E, # . Report Count (62), 1240*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1241*1dec39d4SBenjamin Tissoires 0x85, 0x65, # . Report ID (101), 1242*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1243*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 1244*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1245*1dec39d4SBenjamin Tissoires 0x85, 0x66, # . Report ID (102), 1246*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1247*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 1248*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1249*1dec39d4SBenjamin Tissoires 0x85, 0x67, # . Report ID (103), 1250*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1251*1dec39d4SBenjamin Tissoires 0x95, 0x04, # . Report Count (4), 1252*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1253*1dec39d4SBenjamin Tissoires 0x85, 0x68, # . Report ID (104), 1254*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1255*1dec39d4SBenjamin Tissoires 0x95, 0x11, # . Report Count (17), 1256*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1257*1dec39d4SBenjamin Tissoires 0x85, 0x6F, # . Report ID (111), 1258*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1259*1dec39d4SBenjamin Tissoires 0x95, 0x3E, # . Report Count (62), 1260*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1261*1dec39d4SBenjamin Tissoires 0x85, 0xCD, # . Report ID (205), 1262*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1263*1dec39d4SBenjamin Tissoires 0x95, 0x02, # . Report Count (2), 1264*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1265*1dec39d4SBenjamin Tissoires 0x85, 0x16, # . Report ID (22), 1266*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1267*1dec39d4SBenjamin Tissoires 0x95, 0x0E, # . Report Count (14), 1268*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1269*1dec39d4SBenjamin Tissoires 0x85, 0x35, # . Report ID (53), 1270*1dec39d4SBenjamin Tissoires 0x09, 0x00, # . Usage (00h), 1271*1dec39d4SBenjamin Tissoires 0x95, 0x0A, # . Report Count (10), 1272*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1273*1dec39d4SBenjamin Tissoires 0xC0, # . End Collection, 1274*1dec39d4SBenjamin Tissoires 0x85, 0xD1, # . Report ID (209), 1275*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1276*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x01, # . Report Count (260), 1277*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1278*1dec39d4SBenjamin Tissoires 0x85, 0xD2, # . Report ID (210), 1279*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1280*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x01, # . Report Count (260), 1281*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1282*1dec39d4SBenjamin Tissoires 0x85, 0xD3, # . Report ID (211), 1283*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1284*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 1285*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1286*1dec39d4SBenjamin Tissoires 0x85, 0xD4, # . Report ID (212), 1287*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1288*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 1289*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1290*1dec39d4SBenjamin Tissoires 0x85, 0xD5, # . Report ID (213), 1291*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1292*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 1293*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1294*1dec39d4SBenjamin Tissoires 0x85, 0xD6, # . Report ID (214), 1295*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1296*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 1297*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1298*1dec39d4SBenjamin Tissoires 0x85, 0xD7, # . Report ID (215), 1299*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1300*1dec39d4SBenjamin Tissoires 0x96, 0x08, 0x00, # . Report Count (8), 1301*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1302*1dec39d4SBenjamin Tissoires 0x85, 0xD8, # . Report ID (216), 1303*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1304*1dec39d4SBenjamin Tissoires 0x96, 0x0C, 0x00, # . Report Count (12), 1305*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1306*1dec39d4SBenjamin Tissoires 0x85, 0xD9, # . Report ID (217), 1307*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1308*1dec39d4SBenjamin Tissoires 0x96, 0x00, 0x0A, # . Report Count (2560), 1309*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1310*1dec39d4SBenjamin Tissoires 0x85, 0xDA, # . Report ID (218), 1311*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1312*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x04, # . Report Count (1028), 1313*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1314*1dec39d4SBenjamin Tissoires 0x85, 0xDB, # . Report ID (219), 1315*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1316*1dec39d4SBenjamin Tissoires 0x96, 0x06, 0x00, # . Report Count (6), 1317*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1318*1dec39d4SBenjamin Tissoires 0x85, 0xDC, # . Report ID (220), 1319*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1320*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 1321*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1322*1dec39d4SBenjamin Tissoires 0x85, 0xDD, # . Report ID (221), 1323*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1324*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 1325*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1326*1dec39d4SBenjamin Tissoires 0x85, 0xDE, # . Report ID (222), 1327*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1328*1dec39d4SBenjamin Tissoires 0x96, 0x04, 0x00, # . Report Count (4), 1329*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1330*1dec39d4SBenjamin Tissoires 0x85, 0xDF, # . Report ID (223), 1331*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1332*1dec39d4SBenjamin Tissoires 0x96, 0x22, 0x00, # . Report Count (34), 1333*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1334*1dec39d4SBenjamin Tissoires 0x85, 0xE0, # . Report ID (224), 1335*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1336*1dec39d4SBenjamin Tissoires 0x96, 0x01, 0x00, # . Report Count (1), 1337*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1338*1dec39d4SBenjamin Tissoires 0x85, 0xE1, # . Report ID (225), 1339*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1340*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 1341*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1342*1dec39d4SBenjamin Tissoires 0x85, 0xE2, # . Report ID (226), 1343*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1344*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 1345*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1346*1dec39d4SBenjamin Tissoires 0x85, 0xE3, # . Report ID (227), 1347*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1348*1dec39d4SBenjamin Tissoires 0x96, 0x02, 0x00, # . Report Count (2), 1349*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1350*1dec39d4SBenjamin Tissoires 0x85, 0xE4, # . Report ID (228), 1351*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1352*1dec39d4SBenjamin Tissoires 0x96, 0xFF, 0x01, # . Report Count (511), 1353*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1354*1dec39d4SBenjamin Tissoires 0x85, 0xCB, # . Report ID (203), 1355*1dec39d4SBenjamin Tissoires 0x09, 0x01, # . Usage (01h), 1356*1dec39d4SBenjamin Tissoires 0x96, 0x1F, 0x00, # . Report Count (31), 1357*1dec39d4SBenjamin Tissoires 0xB1, 0x02, # . Feature (Variable), 1358*1dec39d4SBenjamin Tissoires 0xC0 # . End Collection 1359*1dec39d4SBenjamin Tissoires] 1360*1dec39d4SBenjamin Tissoires# fmt: on 1361