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