File Index
Files and directories
Sign in
FILE

descriptors_wacom.py

File preview with syntax highlighting.

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