Path: blob/master/tools/testing/selftests/hid/tests/descriptors_wacom.py
26308 views
# SPDX-License-Identifier: GPL-2.012# fmt: off3wacom_pth660_v145 = [40x05, 0x01, # . Usage Page (Desktop),50x09, 0x02, # . Usage (Mouse),60xA1, 0x01, # . Collection (Application),70x85, 0x01, # . Report ID (1),80x09, 0x01, # . Usage (Pointer),90xA1, 0x00, # . Collection (Physical),100x05, 0x09, # . Usage Page (Button),110x19, 0x01, # . Usage Minimum (01h),120x29, 0x03, # . Usage Maximum (03h),130x15, 0x00, # . Logical Minimum (0),140x25, 0x01, # . Logical Maximum (1),150x75, 0x01, # . Report Size (1),160x95, 0x03, # . Report Count (3),170x81, 0x02, # . Input (Variable),180x75, 0x01, # . Report Size (1),190x95, 0x05, # . Report Count (5),200x81, 0x03, # . Input (Constant, Variable),210x05, 0x01, # . Usage Page (Desktop),220x09, 0x30, # . Usage (X),230x09, 0x31, # . Usage (Y),240x15, 0x81, # . Logical Minimum (-127),250x25, 0x7F, # . Logical Maximum (127),260x75, 0x08, # . Report Size (8),270x95, 0x02, # . Report Count (2),280x81, 0x06, # . Input (Variable, Relative),290xC0, # . End Collection,300xC0, # . End Collection,310x06, 0x0D, 0xFF, # . Usage Page (FF0Dh),320x09, 0x01, # . Usage (01h),330xA1, 0x01, # . Collection (Application),340x85, 0x10, # . Report ID (16),350x09, 0x20, # . Usage (20h),360xA1, 0x00, # . Collection (Physical),370x09, 0x42, # . Usage (42h),380x09, 0x44, # . Usage (44h),390x09, 0x5A, # . Usage (5Ah),400x09, 0x45, # . Usage (45h),410x09, 0x3C, # . Usage (3Ch),420x09, 0x32, # . Usage (32h),430x09, 0x36, # . Usage (36h),440x15, 0x00, # . Logical Minimum (0),450x25, 0x01, # . Logical Maximum (1),460x75, 0x01, # . Report Size (1),470x95, 0x07, # . Report Count (7),480x81, 0x02, # . Input (Variable),490x95, 0x01, # . Report Count (1),500x81, 0x03, # . Input (Constant, Variable),510x0A, 0x30, 0x01, # . Usage (0130h),520x65, 0x11, # . Unit (Centimeter),530x55, 0x0D, # . Unit Exponent (13),540x35, 0x00, # . Physical Minimum (0),550x47, 0x80, 0x57, 0x00, 0x00, # . Physical Maximum (22400),560x15, 0x00, # . Logical Minimum (0),570x27, 0x00, 0xAF, 0x00, 0x00, # . Logical Maximum (44800),580x75, 0x18, # . Report Size (24),590x95, 0x01, # . Report Count (1),600x81, 0x02, # . Input (Variable),610x0A, 0x31, 0x01, # . Usage (0131h),620x47, 0xD0, 0x39, 0x00, 0x00, # . Physical Maximum (14800),630x27, 0xA0, 0x73, 0x00, 0x00, # . Logical Maximum (29600),640x81, 0x02, # . Input (Variable),650x09, 0x30, # . Usage (30h),660x55, 0x00, # . Unit Exponent (0),670x65, 0x00, # . Unit,680x15, 0x00, # . Logical Minimum (0),690x26, 0xFF, 0x1F, # . Logical Maximum (8191), # !!! Errata: Missing Physical Max = 0700x75, 0x10, # . Report Size (16),710x81, 0x02, # . Input (Variable),720x09, 0x3D, # . Usage (3Dh),730x09, 0x3E, # . Usage (3Eh),740x65, 0x14, # . Unit (Degrees),750x55, 0x00, # . Unit Exponent (0),760x35, 0xC0, # . Physical Minimum (-64),770x45, 0x3F, # . Physical Maximum (63),780x15, 0xC0, # . Logical Minimum (-64),790x25, 0x3F, # . Logical Maximum (63),800x75, 0x08, # . Report Size (8),810x95, 0x02, # . Report Count (2),820x81, 0x02, # . Input (Variable),830x09, 0x41, # . Usage (41h),840x65, 0x14, # . Unit (Degrees),850x55, 0x00, # . Unit Exponent (0),860x36, 0x4C, 0xFF, # . Physical Minimum (-180),870x46, 0xB3, 0x00, # . Physical Maximum (179),880x16, 0x7C, 0xFC, # . Logical Minimum (-900),890x26, 0x83, 0x03, # . Logical Maximum (899),900x75, 0x10, # . Report Size (16),910x95, 0x01, # . Report Count (1),920x81, 0x0A, # . Input (Variable, Wrap),930x0A, 0x03, 0x0D, # . Usage (0D03h),940x65, 0x00, # . Unit,950x55, 0x00, # . Unit Exponent (0),960x15, 0x00, # . Logical Minimum (0),970x26, 0xFF, 0x07, # . Logical Maximum (2047), # !!! Errata: Missing Physical Min/Max = 0980x75, 0x10, # . Report Size (16),990x95, 0x01, # . Report Count (1),1000x81, 0x02, # . Input (Variable),1010x0A, 0x32, 0x01, # . Usage (0132h),1020x15, 0x00, # . Logical Minimum (0),1030x25, 0x3F, # . Logical Maximum (63),1040x75, 0x08, # . Report Size (8),1050x95, 0x01, # . Report Count (1),1060x81, 0x02, # . Input (Variable),1070x09, 0x5B, # . Usage (5Bh),1080x09, 0x5C, # . Usage (5Ch),1090x17, 0x00, 0x00, 0x00, 0x80, # . Logical Minimum (-2147483648),1100x27, 0xFF, 0xFF, 0xFF, 0x7F, # . Logical Maximum (2147483647),1110x75, 0x20, # . Report Size (32),1120x95, 0x02, # . Report Count (2),1130x81, 0x02, # . Input (Variable),1140x09, 0x77, # . Usage (77h),1150x15, 0x00, # . Logical Minimum (0),1160x26, 0xFF, 0x0F, # . Logical Maximum (4095),1170x75, 0x10, # . Report Size (16),1180x95, 0x01, # . Report Count (1),1190x81, 0x02, # . Input (Variable),1200xC0, # . End Collection,1210x85, 0x11, # . Report ID (17),1220x09, 0x39, # . Usage (39h),1230xA1, 0x00, # . Collection (Physical),1240x1A, 0x10, 0x09, # . Usage Minimum (0910h),1250x2A, 0x17, 0x09, # . Usage Maximum (0917h),1260x15, 0x00, # . Logical Minimum (0),1270x25, 0x01, # . Logical Maximum (1),1280x75, 0x01, # . Report Size (1),1290x95, 0x08, # . Report Count (8),1300x81, 0x02, # . Input (Variable),1310x1A, 0x40, 0x09, # . Usage Minimum (0940h),1320x2A, 0x47, 0x09, # . Usage Maximum (0947h),1330x81, 0x02, # . Input (Variable),1340x0A, 0x95, 0x09, # . Usage (0995h),1350x95, 0x01, # . Report Count (1),1360x81, 0x02, # . Input (Variable),1370x95, 0x07, # . Report Count (7),1380x81, 0x03, # . Input (Constant, Variable),1390x0A, 0x38, 0x01, # . Usage (0138h),1400x65, 0x14, # . Unit (Degrees),1410x55, 0x00, # . Unit Exponent (0),1420x35, 0x00, # . Physical Minimum (0),1430x46, 0x67, 0x01, # . Physical Maximum (359),1440x15, 0x00, # . Logical Minimum (0),1450x25, 0x47, # . Logical Maximum (71),1460x75, 0x07, # . Report Size (7),1470x95, 0x01, # . Report Count (1),1480x81, 0x0A, # . Input (Variable, Wrap),1490x0A, 0x39, 0x01, # . Usage (0139h),1500x65, 0x00, # . Unit,1510x55, 0x00, # . Unit Exponent (0),1520x25, 0x01, # . Logical Maximum (1), # !!! Errata: Missing Physical Max = 01530x75, 0x01, # . Report Size (1),1540x95, 0x01, # . Report Count (1),1550x81, 0x02, # . Input (Variable),1560x75, 0x08, # . Report Size (8),1570x95, 0x04, # . Report Count (4),1580x81, 0x03, # . Input (Constant, Variable),1590xC0, # . End Collection,1600x85, 0x13, # . Report ID (19),1610x0A, 0x13, 0x10, # . Usage (1013h),1620xA1, 0x00, # . Collection (Physical),1630x0A, 0x3B, 0x04, # . Usage (043Bh),1640x15, 0x00, # . Logical Minimum (0),1650x25, 0x64, # . Logical Maximum (100),1660x75, 0x07, # . Report Size (7),1670x95, 0x01, # . Report Count (1),1680x81, 0x02, # . Input (Variable),1690x0A, 0x04, 0x04, # . Usage (0404h),1700x25, 0x01, # . Logical Maximum (1),1710x75, 0x01, # . Report Size (1),1720x81, 0x02, # . Input (Variable),1730x0A, 0x52, 0x04, # . Usage (0452h),1740x15, 0x00, # . Logical Minimum (0),1750x25, 0x01, # . Logical Maximum (1),1760x75, 0x01, # . Report Size (1),1770x95, 0x01, # . Report Count (1),1780x81, 0x02, # . Input (Variable),1790x95, 0x06, # . Report Count (6),1800x81, 0x03, # . Input (Constant, Variable),1810x0A, 0x54, 0x04, # . Usage (0454h),1820x95, 0x01, # . Report Count (1),1830x81, 0x02, # . Input (Variable),1840x75, 0x08, # . Report Size (8),1850x95, 0x06, # . Report Count (6),1860x81, 0x03, # . Input (Constant, Variable),1870xC0, # . End Collection,1880x09, 0x0E, # . Usage (0Eh),1890xA1, 0x02, # . Collection (Logical),1900x15, 0x00, # . Logical Minimum (0),1910x85, 0x02, # . Report ID (2),1920x09, 0x01, # . Usage (01h),1930x75, 0x08, # . Report Size (8),1940x25, 0x01, # . Logical Maximum (1),1950x95, 0x01, # . Report Count (1),1960xB1, 0x02, # . Feature (Variable),1970x85, 0x03, # . Report ID (3),1980x0A, 0x03, 0x10, # . Usage (1003h),1990x26, 0xFF, 0x00, # . Logical Maximum (255),2000x95, 0x01, # . Report Count (1),2010xB1, 0x02, # . Feature (Variable),2020x85, 0x04, # . Report ID (4),2030x0A, 0x04, 0x10, # . Usage (1004h),2040x25, 0x01, # . Logical Maximum (1),2050x95, 0x01, # . Report Count (1),2060xB1, 0x02, # . Feature (Variable),2070x85, 0x07, # . Report ID (7),2080x0A, 0x09, 0x10, # . Usage (1009h),2090x25, 0x02, # . Logical Maximum (2),2100x95, 0x01, # . Report Count (1),2110xB1, 0x02, # . Feature (Variable),2120x95, 0x01, # . Report Count (1),2130xB1, 0x03, # . Feature (Constant, Variable),2140x0A, 0x07, 0x10, # . Usage (1007h),2150x09, 0x00, # . Usage (00h),2160x0A, 0x08, 0x10, # . Usage (1008h),2170x09, 0x00, # . Usage (00h),2180x09, 0x00, # . Usage (00h),2190x09, 0x00, # . Usage (00h),2200x27, 0xFF, 0xFF, 0x00, 0x00, # . Logical Maximum (65535),2210x75, 0x10, # . Report Size (16),2220x95, 0x06, # . Report Count (6),2230xB1, 0x02, # . Feature (Variable),2240x75, 0x08, # . Report Size (8),2250x95, 0x01, # . Report Count (1),2260xB1, 0x03, # . Feature (Constant, Variable),2270x85, 0x0C, # . Report ID (12),2280x0A, 0x30, 0x0D, # . Usage (0D30h),2290x0A, 0x31, 0x0D, # . Usage (0D31h),2300x0A, 0x32, 0x0D, # . Usage (0D32h),2310x0A, 0x33, 0x0D, # . Usage (0D33h), # !!! Errata: Missing Non-zero Physical Max2320x65, 0x11, # . Unit (Centimeter),2330x55, 0x0D, # . Unit Exponent (13),2340x75, 0x10, # . Report Size (16),2350x95, 0x04, # . Report Count (4),2360xB1, 0x03, # . Feature (Constant, Variable),2370x85, 0x0D, # . Report ID (13),2380x65, 0x00, # . Unit,2390x55, 0x00, # . Unit Exponent (0),2400x0A, 0x0D, 0x10, # . Usage (100Dh),2410x15, 0x00, # . Logical Minimum (0),2420x25, 0x01, # . Logical Maximum (1),2430x75, 0x08, # . Report Size (8),2440x95, 0x01, # . Report Count (1),2450xB1, 0x02, # . Feature (Variable),2460x85, 0x14, # . Report ID (20),2470x0A, 0x14, 0x10, # . Usage (1014h),2480x26, 0xFF, 0x00, # . Logical Maximum (255),2490x95, 0x0D, # . Report Count (13),2500xB1, 0x02, # . Feature (Variable),2510x85, 0x31, # . Report ID (49),2520x0A, 0x31, 0x10, # . Usage (1031h),2530x25, 0x64, # . Logical Maximum (100),2540x95, 0x05, # . Report Count (5),2550xB1, 0x02, # . Feature (Variable),2560x85, 0x32, # . Report ID (50),2570x0A, 0x31, 0x10, # . Usage (1031h),2580x25, 0x64, # . Logical Maximum (100),2590x95, 0x01, # . Report Count (1),2600xB1, 0x02, # . Feature (Variable),2610x0A, 0x32, 0x10, # . Usage (1032h),2620x25, 0x03, # . Logical Maximum (3),2630xB1, 0x02, # . Feature (Variable),2640x85, 0x34, # . Report ID (52),2650x0A, 0x34, 0x10, # . Usage (1034h),2660x25, 0x01, # . Logical Maximum (1),2670x95, 0x04, # . Report Count (4),2680xB1, 0x02, # . Feature (Variable),2690x85, 0x35, # . Report ID (53),2700x0A, 0x35, 0x10, # . Usage (1035h),2710x26, 0xFF, 0x00, # . Logical Maximum (255),2720x95, 0x0A, # . Report Count (10),2730xB1, 0x02, # . Feature (Variable),2740x85, 0x36, # . Report ID (54),2750x0A, 0x35, 0x10, # . Usage (1035h),2760x26, 0xFF, 0x00, # . Logical Maximum (255),2770x96, 0x01, 0x01, # . Report Count (257),2780xB1, 0x02, # . Feature (Variable),2790x85, 0xCC, # . Report ID (204),2800x0A, 0xCC, 0x10, # . Usage (10CCh),2810x26, 0xFF, 0x00, # . Logical Maximum (255),2820x95, 0x02, # . Report Count (2),2830xB1, 0x02, # . Feature (Variable),2840xC0, # . End Collection,2850x0A, 0xAC, 0x10, # . Usage (10ACh),2860xA1, 0x02, # . Collection (Logical),2870x15, 0x00, # . Logical Minimum (0),2880x26, 0xFF, 0x00, # . Logical Maximum (255),2890x75, 0x08, # . Report Size (8),2900x85, 0xAC, # . Report ID (172),2910x09, 0x00, # . Usage (00h),2920x95, 0xBF, # . Report Count (191),2930x81, 0x02, # . Input (Variable),2940x85, 0x33, # . Report ID (51),2950x09, 0x00, # . Usage (00h),2960x95, 0x12, # . Report Count (18),2970xB1, 0x02, # . Feature (Variable),2980x85, 0x64, # . Report ID (100),2990x09, 0x00, # . Usage (00h),3000x95, 0x0C, # . Report Count (12),3010xB1, 0x02, # . Feature (Variable),3020x85, 0x15, # . Report ID (21),3030x09, 0x00, # . Usage (00h),3040x95, 0x0E, # . Report Count (14),3050xB1, 0x02, # . Feature (Variable),3060x85, 0x12, # . Report ID (18),3070x09, 0x00, # . Usage (00h),3080x95, 0x04, # . Report Count (4),3090xB1, 0x02, # . Feature (Variable),3100x85, 0x16, # . Report ID (22),3110x09, 0x00, # . Usage (00h),3120x95, 0x0E, # . Report Count (14),3130xB1, 0x02, # . Feature (Variable),3140x85, 0x40, # . Report ID (64),3150x09, 0x00, # . Usage (00h),3160x95, 0x01, # . Report Count (1),3170xB1, 0x02, # . Feature (Variable),3180x85, 0x41, # . Report ID (65),3190x09, 0x00, # . Usage (00h),3200x95, 0x01, # . Report Count (1),3210xB1, 0x02, # . Feature (Variable),3220x85, 0x42, # . Report ID (66),3230x09, 0x00, # . Usage (00h),3240x95, 0x04, # . Report Count (4),3250xB1, 0x02, # . Feature (Variable),3260x85, 0x43, # . Report ID (67),3270x09, 0x00, # . Usage (00h),3280x95, 0x0D, # . Report Count (13),3290xB1, 0x02, # . Feature (Variable),3300x85, 0x44, # . Report ID (68),3310x09, 0x00, # . Usage (00h),3320x95, 0x3F, # . Report Count (63),3330xB1, 0x02, # . Feature (Variable),3340x85, 0x45, # . Report ID (69),3350x09, 0x00, # . Usage (00h),3360x95, 0x20, # . Report Count (32),3370xB1, 0x02, # . Feature (Variable),3380x85, 0x60, # . Report ID (96),3390x09, 0x00, # . Usage (00h),3400x95, 0x3F, # . Report Count (63),3410xB1, 0x02, # . Feature (Variable),3420x85, 0x61, # . Report ID (97),3430x09, 0x00, # . Usage (00h),3440x95, 0x3E, # . Report Count (62),3450xB1, 0x02, # . Feature (Variable),3460x85, 0x62, # . Report ID (98),3470x09, 0x00, # . Usage (00h),3480x95, 0x3E, # . Report Count (62),3490xB1, 0x02, # . Feature (Variable),3500xC0, # . End Collection,3510x85, 0xD0, # . Report ID (208),3520x09, 0x01, # . Usage (01h),3530x96, 0x08, 0x00, # . Report Count (8),3540xB1, 0x02, # . Feature (Variable),3550x85, 0xD1, # . Report ID (209),3560x09, 0x01, # . Usage (01h),3570x96, 0x04, 0x01, # . Report Count (260),3580xB1, 0x02, # . Feature (Variable),3590x85, 0xD2, # . Report ID (210),3600x09, 0x01, # . Usage (01h),3610x96, 0x04, 0x01, # . Report Count (260),3620xB1, 0x02, # . Feature (Variable),3630x85, 0xD3, # . Report ID (211),3640x09, 0x01, # . Usage (01h),3650x96, 0x04, 0x00, # . Report Count (4),3660xB1, 0x02, # . Feature (Variable),3670x85, 0xD4, # . Report ID (212),3680x09, 0x01, # . Usage (01h),3690x96, 0x04, 0x00, # . Report Count (4),3700xB1, 0x02, # . Feature (Variable),3710x85, 0xD5, # . Report ID (213),3720x09, 0x01, # . Usage (01h),3730x96, 0x04, 0x00, # . Report Count (4),3740xB1, 0x02, # . Feature (Variable),3750x85, 0xD6, # . Report ID (214),3760x09, 0x01, # . Usage (01h),3770x96, 0x04, 0x00, # . Report Count (4),3780xB1, 0x02, # . Feature (Variable),3790x85, 0xD7, # . Report ID (215),3800x09, 0x01, # . Usage (01h),3810x96, 0x08, 0x00, # . Report Count (8),3820xB1, 0x02, # . Feature (Variable),3830x85, 0xD8, # . Report ID (216),3840x09, 0x01, # . Usage (01h),3850x96, 0x0C, 0x00, # . Report Count (12),3860xB1, 0x02, # . Feature (Variable),3870x85, 0xD9, # . Report ID (217),3880x09, 0x01, # . Usage (01h),3890x96, 0x00, 0x0A, # . Report Count (2560),3900xB1, 0x02, # . Feature (Variable),3910x85, 0xDA, # . Report ID (218),3920x09, 0x01, # . Usage (01h),3930x96, 0x04, 0x04, # . Report Count (1028),3940xB1, 0x02, # . Feature (Variable),3950x85, 0xDB, # . Report ID (219),3960x09, 0x01, # . Usage (01h),3970x96, 0x06, 0x00, # . Report Count (6),3980xB1, 0x02, # . Feature (Variable),3990x85, 0xDC, # . Report ID (220),4000x09, 0x01, # . Usage (01h),4010x96, 0x02, 0x00, # . Report Count (2),4020xB1, 0x02, # . Feature (Variable),4030x85, 0xDD, # . Report ID (221),4040x09, 0x01, # . Usage (01h),4050x96, 0x04, 0x00, # . Report Count (4),4060xB1, 0x02, # . Feature (Variable),4070x85, 0xDE, # . Report ID (222),4080x09, 0x01, # . Usage (01h),4090x96, 0x04, 0x00, # . Report Count (4),4100xB1, 0x02, # . Feature (Variable),4110x85, 0xDF, # . Report ID (223),4120x09, 0x01, # . Usage (01h),4130x96, 0x22, 0x00, # . Report Count (34),4140xB1, 0x02, # . Feature (Variable),4150x85, 0xE0, # . Report ID (224),4160x09, 0x01, # . Usage (01h),4170x96, 0x01, 0x00, # . Report Count (1),4180xB1, 0x02, # . Feature (Variable),4190x85, 0xE1, # . Report ID (225),4200x09, 0x01, # . Usage (01h),4210x96, 0x02, 0x00, # . Report Count (2),4220xB1, 0x02, # . Feature (Variable),4230x85, 0xE2, # . Report ID (226),4240x09, 0x01, # . Usage (01h),4250x96, 0x02, 0x00, # . Report Count (2),4260xB1, 0x02, # . Feature (Variable),4270x85, 0xE3, # . Report ID (227),4280x09, 0x01, # . Usage (01h),4290x96, 0x02, 0x00, # . Report Count (2),4300xB1, 0x02, # . Feature (Variable),4310x85, 0xE4, # . Report ID (228),4320x09, 0x01, # . Usage (01h),4330x96, 0xFF, 0x01, # . Report Count (511),4340xB1, 0x02, # . Feature (Variable),4350xC0 # . End Collection436]437# fmt: on438439# Report ID (20), Usage (1014h), Report Count (13) -> 15440wacom_pth660_v150 = wacom_pth660_v145.copy()441wacom_pth660_v150[0x2CB] = 0x0F442443# fmt: off444wacom_pth860_v145 = [4450x05, 0x01, # . Usage Page (Desktop),4460x09, 0x02, # . Usage (Mouse),4470xA1, 0x01, # . Collection (Application),4480x85, 0x01, # . Report ID (1),4490x09, 0x01, # . Usage (Pointer),4500xA1, 0x00, # . Collection (Physical),4510x05, 0x09, # . Usage Page (Button),4520x19, 0x01, # . Usage Minimum (01h),4530x29, 0x03, # . Usage Maximum (03h),4540x15, 0x00, # . Logical Minimum (0),4550x25, 0x01, # . Logical Maximum (1),4560x75, 0x01, # . Report Size (1),4570x95, 0x03, # . Report Count (3),4580x81, 0x02, # . Input (Variable),4590x95, 0x05, # . Report Count (5),4600x81, 0x03, # . Input (Constant, Variable),4610x05, 0x01, # . Usage Page (Desktop),4620x09, 0x30, # . Usage (X),4630x09, 0x31, # . Usage (Y),4640x15, 0x80, # . Logical Minimum (-128),4650x25, 0x7F, # . Logical Maximum (127),4660x75, 0x08, # . Report Size (8),4670x95, 0x02, # . Report Count (2),4680x81, 0x06, # . Input (Variable, Relative),4690xC0, # . End Collection,4700xC0, # . End Collection,4710x06, 0x0D, 0xFF, # . Usage Page (FF0Dh),4720x09, 0x01, # . Usage (01h),4730xA1, 0x01, # . Collection (Application),4740x85, 0x10, # . Report ID (16),4750x09, 0x20, # . Usage (20h),4760xA1, 0x00, # . Collection (Physical),4770x09, 0x42, # . Usage (42h),4780x09, 0x44, # . Usage (44h),4790x09, 0x5A, # . Usage (5Ah),4800x09, 0x45, # . Usage (45h),4810x09, 0x3C, # . Usage (3Ch),4820x09, 0x32, # . Usage (32h),4830x09, 0x36, # . Usage (36h),4840x15, 0x00, # . Logical Minimum (0),4850x25, 0x01, # . Logical Maximum (1),4860x75, 0x01, # . Report Size (1),4870x95, 0x07, # . Report Count (7),4880x81, 0x02, # . Input (Variable),4890x95, 0x01, # . Report Count (1),4900x81, 0x03, # . Input (Constant, Variable),4910x0A, 0x30, 0x01, # . Usage (0130h),4920x65, 0x11, # . Unit (Centimeter),4930x55, 0x0D, # . Unit Exponent (13),4940x35, 0x00, # . Physical Minimum (0),4950x47, 0x7C, 0x79, 0x00, 0x00, # . Physical Maximum (31100),4960x15, 0x00, # . Logical Minimum (0),4970x27, 0xF8, 0xF2, 0x00, 0x00, # . Logical Maximum (62200),4980x75, 0x18, # . Report Size (24),4990x95, 0x01, # . Report Count (1),5000x81, 0x02, # . Input (Variable),5010x0A, 0x31, 0x01, # . Usage (0131h),5020x47, 0x60, 0x54, 0x00, 0x00, # . Physical Maximum (21600),5030x27, 0xC0, 0xA8, 0x00, 0x00, # . Logical Maximum (43200),5040x81, 0x02, # . Input (Variable),5050x09, 0x30, # . Usage (30h), # !!! Errata: Missing Physical Max = 05060x55, 0x00, # . Unit Exponent (0),5070x65, 0x00, # . Unit,5080x15, 0x00, # . Logical Minimum (0),5090x26, 0xFF, 0x1F, # . Logical Maximum (8191),5100x75, 0x10, # . Report Size (16),5110x81, 0x02, # . Input (Variable),5120x09, 0x3D, # . Usage (3Dh),5130x09, 0x3E, # . Usage (3Eh),5140x65, 0x14, # . Unit (Degrees),5150x55, 0x00, # . Unit Exponent (0),5160x35, 0xC0, # . Physical Minimum (-64),5170x45, 0x3F, # . Physical Maximum (63),5180x15, 0xC0, # . Logical Minimum (-64),5190x25, 0x3F, # . Logical Maximum (63),5200x75, 0x08, # . Report Size (8),5210x95, 0x02, # . Report Count (2),5220x81, 0x02, # . Input (Variable),5230x09, 0x41, # . Usage (41h),5240x65, 0x14, # . Unit (Degrees),5250x55, 0x00, # . Unit Exponent (0),5260x36, 0x4C, 0xFF, # . Physical Minimum (-180),5270x46, 0xB3, 0x00, # . Physical Maximum (179),5280x16, 0x7C, 0xFC, # . Logical Minimum (-900),5290x26, 0x83, 0x03, # . Logical Maximum (899),5300x75, 0x10, # . Report Size (16),5310x95, 0x01, # . Report Count (1),5320x81, 0x0A, # . Input (Variable, Wrap),5330x0A, 0x03, 0x0D, # . Usage (0D03h),5340x65, 0x00, # . Unit,5350x55, 0x00, # . Unit Exponent (0),5360x15, 0x00, # . Logical Minimum (0),5370x26, 0xFF, 0x07, # . Logical Maximum (2047), # !!! Errata: Missing Physical Min/Max = 05380x75, 0x10, # . Report Size (16),5390x95, 0x01, # . Report Count (1),5400x81, 0x02, # . Input (Variable),5410x0A, 0x32, 0x01, # . Usage (0132h),5420x15, 0x00, # . Logical Minimum (0),5430x25, 0x3F, # . Logical Maximum (63),5440x75, 0x08, # . Report Size (8),5450x95, 0x01, # . Report Count (1),5460x81, 0x02, # . Input (Variable),5470x09, 0x5B, # . Usage (5Bh),5480x09, 0x5C, # . Usage (5Ch),5490x17, 0x00, 0x00, 0x00, 0x80, # . Logical Minimum (-2147483648),5500x27, 0xFF, 0xFF, 0xFF, 0x7F, # . Logical Maximum (2147483647),5510x75, 0x20, # . Report Size (32),5520x95, 0x02, # . Report Count (2),5530x81, 0x02, # . Input (Variable),5540x09, 0x77, # . Usage (77h),5550x16, 0x00, 0x00, # . Logical Minimum (0),5560x26, 0xFF, 0x0F, # . Logical Maximum (4095),5570x75, 0x10, # . Report Size (16),5580x95, 0x01, # . Report Count (1),5590x81, 0x02, # . Input (Variable),5600xC0, # . End Collection,5610x85, 0x11, # . Report ID (17),5620x09, 0x39, # . Usage (39h),5630xA1, 0x00, # . Collection (Physical),5640x1A, 0x10, 0x09, # . Usage Minimum (0910h),5650x2A, 0x17, 0x09, # . Usage Maximum (0917h),5660x15, 0x00, # . Logical Minimum (0),5670x25, 0x01, # . Logical Maximum (1),5680x75, 0x01, # . Report Size (1),5690x95, 0x08, # . Report Count (8),5700x81, 0x02, # . Input (Variable),5710x1A, 0x40, 0x09, # . Usage Minimum (0940h),5720x2A, 0x47, 0x09, # . Usage Maximum (0947h),5730x81, 0x02, # . Input (Variable),5740x0A, 0x95, 0x09, # . Usage (0995h),5750x95, 0x01, # . Report Count (1),5760x81, 0x02, # . Input (Variable),5770x95, 0x07, # . Report Count (7),5780x81, 0x03, # . Input (Constant, Variable),5790x0A, 0x38, 0x01, # . Usage (0138h),5800x65, 0x14, # . Unit (Degrees),5810x55, 0x00, # . Unit Exponent (0),5820x35, 0x00, # . Physical Minimum (0),5830x46, 0x67, 0x01, # . Physical Maximum (359),5840x15, 0x00, # . Logical Minimum (0),5850x25, 0x47, # . Logical Maximum (71),5860x75, 0x07, # . Report Size (7),5870x95, 0x01, # . Report Count (1),5880x81, 0x0A, # . Input (Variable, Wrap),5890x0A, 0x39, 0x01, # . Usage (0139h),5900x65, 0x00, # . Unit,5910x55, 0x00, # . Unit Exponent (0),5920x25, 0x01, # . Logical Maximum (1), # !!! Errata: Missing Physical Max = 05930x75, 0x01, # . Report Size (1),5940x95, 0x01, # . Report Count (1),5950x81, 0x02, # . Input (Variable),5960x75, 0x08, # . Report Size (8),5970x95, 0x04, # . Report Count (4),5980x81, 0x03, # . Input (Constant, Variable),5990xC0, # . End Collection,6000x85, 0x13, # . Report ID (19),6010x0A, 0x13, 0x10, # . Usage (1013h),6020xA1, 0x00, # . Collection (Physical),6030x0A, 0x3B, 0x04, # . Usage (043Bh),6040x15, 0x00, # . Logical Minimum (0),6050x25, 0x64, # . Logical Maximum (100),6060x75, 0x07, # . Report Size (7),6070x95, 0x01, # . Report Count (1),6080x81, 0x02, # . Input (Variable),6090x0A, 0x04, 0x04, # . Usage (0404h),6100x25, 0x01, # . Logical Maximum (1),6110x75, 0x01, # . Report Size (1),6120x81, 0x02, # . Input (Variable),6130x0A, 0x52, 0x04, # . Usage (0452h),6140x15, 0x00, # . Logical Minimum (0),6150x25, 0x01, # . Logical Maximum (1),6160x75, 0x01, # . Report Size (1),6170x95, 0x01, # . Report Count (1),6180x81, 0x02, # . Input (Variable),6190x95, 0x06, # . Report Count (6),6200x81, 0x03, # . Input (Constant, Variable),6210x0A, 0x54, 0x04, # . Usage (0454h),6220x95, 0x01, # . Report Count (1),6230x81, 0x02, # . Input (Variable),6240x75, 0x08, # . Report Size (8),6250x95, 0x06, # . Report Count (6),6260x81, 0x03, # . Input (Constant, Variable),6270xC0, # . End Collection,6280x09, 0x0E, # . Usage (0Eh),6290xA1, 0x02, # . Collection (Logical),6300x15, 0x00, # . Logical Minimum (0),6310x85, 0x02, # . Report ID (2),6320x09, 0x01, # . Usage (01h),6330x75, 0x08, # . Report Size (8),6340x25, 0x01, # . Logical Maximum (1),6350x95, 0x01, # . Report Count (1),6360xB1, 0x02, # . Feature (Variable),6370x85, 0x03, # . Report ID (3),6380x0A, 0x03, 0x10, # . Usage (1003h),6390x26, 0xFF, 0x00, # . Logical Maximum (255),6400x95, 0x01, # . Report Count (1),6410xB1, 0x02, # . Feature (Variable),6420x85, 0x04, # . Report ID (4),6430x0A, 0x04, 0x10, # . Usage (1004h),6440x25, 0x01, # . Logical Maximum (1),6450x95, 0x01, # . Report Count (1),6460xB1, 0x02, # . Feature (Variable),6470x85, 0x07, # . Report ID (7),6480x0A, 0x09, 0x10, # . Usage (1009h),6490x25, 0x02, # . Logical Maximum (2),6500x95, 0x01, # . Report Count (1),6510xB1, 0x02, # . Feature (Variable),6520x95, 0x01, # . Report Count (1),6530xB1, 0x03, # . Feature (Constant, Variable),6540x0A, 0x07, 0x10, # . Usage (1007h),6550x09, 0x00, # . Usage (00h),6560x0A, 0x08, 0x10, # . Usage (1008h),6570x09, 0x00, # . Usage (00h),6580x09, 0x00, # . Usage (00h),6590x09, 0x00, # . Usage (00h),6600x27, 0xFF, 0xFF, 0x00, 0x00, # . Logical Maximum (65535),6610x75, 0x10, # . Report Size (16),6620x95, 0x06, # . Report Count (6),6630xB1, 0x02, # . Feature (Variable),6640x75, 0x08, # . Report Size (8),6650x95, 0x01, # . Report Count (1),6660xB1, 0x03, # . Feature (Constant, Variable),6670x85, 0x0C, # . Report ID (12),6680x0A, 0x30, 0x0D, # . Usage (0D30h),6690x0A, 0x31, 0x0D, # . Usage (0D31h),6700x0A, 0x32, 0x0D, # . Usage (0D32h),6710x0A, 0x33, 0x0D, # . Usage (0D33h), # !!! Errata: Missing Non-zero Physical Max6720x65, 0x11, # . Unit (Centimeter),6730x55, 0x0D, # . Unit Exponent (13),6740x75, 0x10, # . Report Size (16),6750x95, 0x04, # . Report Count (4),6760xB1, 0x03, # . Feature (Constant, Variable),6770x85, 0x0D, # . Report ID (13),6780x65, 0x00, # . Unit,6790x55, 0x00, # . Unit Exponent (0),6800x0A, 0x0D, 0x10, # . Usage (100Dh),6810x15, 0x00, # . Logical Minimum (0),6820x25, 0x01, # . Logical Maximum (1),6830x75, 0x08, # . Report Size (8),6840x95, 0x01, # . Report Count (1),6850xB1, 0x02, # . Feature (Variable),6860x85, 0x14, # . Report ID (20),6870x0A, 0x14, 0x10, # . Usage (1014h),6880x26, 0xFF, 0x00, # . Logical Maximum (255),6890x95, 0x0D, # . Report Count (13),6900xB1, 0x02, # . Feature (Variable),6910x85, 0x31, # . Report ID (49),6920x0A, 0x31, 0x10, # . Usage (1031h),6930x25, 0x64, # . Logical Maximum (100),6940x95, 0x05, # . Report Count (5),6950xB1, 0x02, # . Feature (Variable),6960x85, 0x32, # . Report ID (50),6970x0A, 0x31, 0x10, # . Usage (1031h),6980x25, 0x64, # . Logical Maximum (100),6990x95, 0x01, # . Report Count (1),7000xB1, 0x02, # . Feature (Variable),7010x0A, 0x32, 0x10, # . Usage (1032h),7020x25, 0x03, # . Logical Maximum (3),7030xB1, 0x02, # . Feature (Variable),7040x85, 0x34, # . Report ID (52),7050x0A, 0x34, 0x10, # . Usage (1034h),7060x25, 0x01, # . Logical Maximum (1),7070x95, 0x04, # . Report Count (4),7080xB1, 0x02, # . Feature (Variable),7090x85, 0x35, # . Report ID (53),7100x0A, 0x35, 0x10, # . Usage (1035h),7110x26, 0xFF, 0x00, # . Logical Maximum (255),7120x95, 0x0A, # . Report Count (10),7130xB1, 0x02, # . Feature (Variable),7140x85, 0x36, # . Report ID (54),7150x0A, 0x35, 0x10, # . Usage (1035h),7160x26, 0xFF, 0x00, # . Logical Maximum (255),7170x96, 0x01, 0x01, # . Report Count (257),7180xB1, 0x02, # . Feature (Variable),7190x85, 0xCC, # . Report ID (204),7200x0A, 0xCC, 0x10, # . Usage (10CCh),7210x26, 0xFF, 0x00, # . Logical Maximum (255),7220x95, 0x02, # . Report Count (2),7230xB1, 0x02, # . Feature (Variable),7240xC0, # . End Collection,7250x0A, 0xAC, 0x10, # . Usage (10ACh),7260xA1, 0x02, # . Collection (Logical),7270x15, 0x00, # . Logical Minimum (0),7280x26, 0xFF, 0x00, # . Logical Maximum (255),7290x75, 0x08, # . Report Size (8),7300x85, 0xAC, # . Report ID (172),7310x09, 0x00, # . Usage (00h),7320x95, 0xBF, # . Report Count (191),7330x81, 0x02, # . Input (Variable),7340x85, 0x33, # . Report ID (51),7350x09, 0x00, # . Usage (00h),7360x95, 0x12, # . Report Count (18),7370xB1, 0x02, # . Feature (Variable),7380x85, 0x64, # . Report ID (100),7390x09, 0x00, # . Usage (00h),7400x95, 0x0C, # . Report Count (12),7410xB1, 0x02, # . Feature (Variable),7420x85, 0x15, # . Report ID (21),7430x09, 0x00, # . Usage (00h),7440x95, 0x0E, # . Report Count (14),7450xB1, 0x02, # . Feature (Variable),7460x85, 0x12, # . Report ID (18),7470x09, 0x00, # . Usage (00h),7480x95, 0x04, # . Report Count (4),7490xB1, 0x02, # . Feature (Variable),7500x85, 0x16, # . Report ID (22),7510x09, 0x00, # . Usage (00h),7520x95, 0x0E, # . Report Count (14),7530xB1, 0x02, # . Feature (Variable),7540x85, 0x40, # . Report ID (64),7550x09, 0x00, # . Usage (00h),7560x95, 0x01, # . Report Count (1),7570xB1, 0x02, # . Feature (Variable),7580x85, 0x41, # . Report ID (65),7590x09, 0x00, # . Usage (00h),7600x95, 0x01, # . Report Count (1),7610xB1, 0x02, # . Feature (Variable),7620x85, 0x42, # . Report ID (66),7630x09, 0x00, # . Usage (00h),7640x95, 0x04, # . Report Count (4),7650xB1, 0x02, # . Feature (Variable),7660x85, 0x43, # . Report ID (67),7670x09, 0x00, # . Usage (00h),7680x95, 0x0D, # . Report Count (13),7690xB1, 0x02, # . Feature (Variable),7700x85, 0x44, # . Report ID (68),7710x09, 0x00, # . Usage (00h),7720x95, 0x3F, # . Report Count (63),7730xB1, 0x02, # . Feature (Variable),7740x85, 0x45, # . Report ID (69),7750x09, 0x00, # . Usage (00h),7760x95, 0x20, # . Report Count (32),7770xB1, 0x02, # . Feature (Variable),7780x85, 0x60, # . Report ID (96),7790x09, 0x00, # . Usage (00h),7800x95, 0x3F, # . Report Count (63),7810xB1, 0x02, # . Feature (Variable),7820x85, 0x61, # . Report ID (97),7830x09, 0x00, # . Usage (00h),7840x95, 0x3E, # . Report Count (62),7850xB1, 0x02, # . Feature (Variable),7860x85, 0x62, # . Report ID (98),7870x09, 0x00, # . Usage (00h),7880x95, 0x3E, # . Report Count (62),7890xB1, 0x02, # . Feature (Variable),7900xC0, # . End Collection,7910x85, 0xD0, # . Report ID (208),7920x09, 0x01, # . Usage (01h),7930x96, 0x08, 0x00, # . Report Count (8),7940xB1, 0x02, # . Feature (Variable),7950x85, 0xD1, # . Report ID (209),7960x09, 0x01, # . Usage (01h),7970x96, 0x04, 0x01, # . Report Count (260),7980xB1, 0x02, # . Feature (Variable),7990x85, 0xD2, # . Report ID (210),8000x09, 0x01, # . Usage (01h),8010x96, 0x04, 0x01, # . Report Count (260),8020xB1, 0x02, # . Feature (Variable),8030x85, 0xD3, # . Report ID (211),8040x09, 0x01, # . Usage (01h),8050x96, 0x04, 0x00, # . Report Count (4),8060xB1, 0x02, # . Feature (Variable),8070x85, 0xD4, # . Report ID (212),8080x09, 0x01, # . Usage (01h),8090x96, 0x04, 0x00, # . Report Count (4),8100xB1, 0x02, # . Feature (Variable),8110x85, 0xD5, # . Report ID (213),8120x09, 0x01, # . Usage (01h),8130x96, 0x04, 0x00, # . Report Count (4),8140xB1, 0x02, # . Feature (Variable),8150x85, 0xD6, # . Report ID (214),8160x09, 0x01, # . Usage (01h),8170x96, 0x04, 0x00, # . Report Count (4),8180xB1, 0x02, # . Feature (Variable),8190x85, 0xD7, # . Report ID (215),8200x09, 0x01, # . Usage (01h),8210x96, 0x08, 0x00, # . Report Count (8),8220xB1, 0x02, # . Feature (Variable),8230x85, 0xD8, # . Report ID (216),8240x09, 0x01, # . Usage (01h),8250x96, 0x0C, 0x00, # . Report Count (12),8260xB1, 0x02, # . Feature (Variable),8270x85, 0xD9, # . Report ID (217),8280x09, 0x01, # . Usage (01h),8290x96, 0x00, 0x0A, # . Report Count (2560),8300xB1, 0x02, # . Feature (Variable),8310x85, 0xDA, # . Report ID (218),8320x09, 0x01, # . Usage (01h),8330x96, 0x04, 0x04, # . Report Count (1028),8340xB1, 0x02, # . Feature (Variable),8350x85, 0xDB, # . Report ID (219),8360x09, 0x01, # . Usage (01h),8370x96, 0x06, 0x00, # . Report Count (6),8380xB1, 0x02, # . Feature (Variable),8390x85, 0xDC, # . Report ID (220),8400x09, 0x01, # . Usage (01h),8410x96, 0x02, 0x00, # . Report Count (2),8420xB1, 0x02, # . Feature (Variable),8430x85, 0xDD, # . Report ID (221),8440x09, 0x01, # . Usage (01h),8450x96, 0x04, 0x00, # . Report Count (4),8460xB1, 0x02, # . Feature (Variable),8470x85, 0xDE, # . Report ID (222),8480x09, 0x01, # . Usage (01h),8490x96, 0x04, 0x00, # . Report Count (4),8500xB1, 0x02, # . Feature (Variable),8510x85, 0xDF, # . Report ID (223),8520x09, 0x01, # . Usage (01h),8530x96, 0x22, 0x00, # . Report Count (34),8540xB1, 0x02, # . Feature (Variable),8550x85, 0xE0, # . Report ID (224),8560x09, 0x01, # . Usage (01h),8570x96, 0x01, 0x00, # . Report Count (1),8580xB1, 0x02, # . Feature (Variable),8590x85, 0xE1, # . Report ID (225),8600x09, 0x01, # . Usage (01h),8610x96, 0x02, 0x00, # . Report Count (2),8620xB1, 0x02, # . Feature (Variable),8630x85, 0xE2, # . Report ID (226),8640x09, 0x01, # . Usage (01h),8650x96, 0x02, 0x00, # . Report Count (2),8660xB1, 0x02, # . Feature (Variable),8670x85, 0xE3, # . Report ID (227),8680x09, 0x01, # . Usage (01h),8690x96, 0x02, 0x00, # . Report Count (2),8700xB1, 0x02, # . Feature (Variable),8710x85, 0xE4, # . Report ID (228),8720x09, 0x01, # . Usage (01h),8730x96, 0xFF, 0x01, # . Report Count (511),8740xB1, 0x02, # . Feature (Variable),8750xC0 # . End Collection876]877# fmt: on878879# Report ID (20), Usage (1014h), Report Count (13) -> 15880wacom_pth860_v150 = wacom_pth860_v145.copy()881wacom_pth860_v150[0x2CA] = 0x0F882883# fmt: off884wacom_pth460_v105 = [8850x06, 0x0D, 0xFF, # . Usage Page (FF0Dh),8860x09, 0x01, # . Usage (01h),8870xA1, 0x01, # . Collection (Application),8880x85, 0x10, # . Report ID (16),8890x09, 0x20, # . Usage (20h),8900x35, 0x00, # . Physical Minimum (0),8910x45, 0x00, # . Physical Maximum (0),8920x15, 0x00, # . Logical Minimum (0),8930x25, 0x01, # . Logical Maximum (1),8940xA1, 0x00, # . Collection (Physical),8950x09, 0x42, # . Usage (42h),8960x09, 0x44, # . Usage (44h),8970x09, 0x5A, # . Usage (5Ah),8980x09, 0x45, # . Usage (45h),8990x09, 0x3C, # . Usage (3Ch),9000x09, 0x32, # . Usage (32h),9010x09, 0x36, # . Usage (36h),9020x25, 0x01, # . Logical Maximum (1),9030x75, 0x01, # . Report Size (1),9040x95, 0x07, # . Report Count (7),9050x81, 0x02, # . Input (Variable),9060x95, 0x01, # . Report Count (1),9070x81, 0x03, # . Input (Constant, Variable),9080x0A, 0x30, 0x01, # . Usage (0130h),9090x65, 0x11, # . Unit (Centimeter),9100x55, 0x0D, # . Unit Exponent (13),9110x47, 0x58, 0x3E, 0x00, 0x00, # . Physical Maximum (15960),9120x27, 0xB0, 0x7C, 0x00, 0x00, # . Logical Maximum (31920),9130x75, 0x18, # . Report Size (24),9140x95, 0x01, # . Report Count (1),9150x81, 0x02, # . Input (Variable),9160x0A, 0x31, 0x01, # . Usage (0131h),9170x47, 0xF7, 0x26, 0x00, 0x00, # . Physical Maximum (9975),9180x27, 0xEE, 0x4D, 0x00, 0x00, # . Logical Maximum (19950),9190x81, 0x02, # . Input (Variable),9200x09, 0x30, # . Usage (30h),9210x55, 0x00, # . Unit Exponent (0),9220x65, 0x00, # . Unit,9230x26, 0xFF, 0x1F, # . Logical Maximum (8191), # !!! Errata: Missing Physical Max = 09240x75, 0x10, # . Report Size (16),9250x81, 0x02, # . Input (Variable),9260x09, 0x3D, # . Usage (3Dh),9270x09, 0x3E, # . Usage (3Eh),9280x65, 0x14, # . Unit (Degrees),9290x55, 0x00, # . Unit Exponent (0),9300x35, 0xC0, # . Physical Minimum (-64),9310x45, 0x3F, # . Physical Maximum (63),9320x15, 0xC0, # . Logical Minimum (-64),9330x25, 0x3F, # . Logical Maximum (63),9340x75, 0x08, # . Report Size (8),9350x95, 0x02, # . Report Count (2),9360x81, 0x02, # . Input (Variable),9370x09, 0x41, # . Usage (41h),9380x65, 0x14, # . Unit (Degrees),9390x55, 0x00, # . Unit Exponent (0),9400x36, 0x4C, 0xFF, # . Physical Minimum (-180),9410x46, 0xB3, 0x00, # . Physical Maximum (179),9420x16, 0x7C, 0xFC, # . Logical Minimum (-900),9430x26, 0x83, 0x03, # . Logical Maximum (899),9440x75, 0x10, # . Report Size (16),9450x95, 0x01, # . Report Count (1),9460x81, 0x0A, # . Input (Variable, Wrap),9470x0A, 0x03, 0x0D, # . Usage (0D03h),9480x65, 0x00, # . Unit,9490x55, 0x00, # . Unit Exponent (0),9500x35, 0x00, # . Physical Minimum (0),9510x45, 0x00, # . Physical Maximum (0),9520x15, 0x00, # . Logical Minimum (0),9530x26, 0xFF, 0x07, # . Logical Maximum (2047),9540x81, 0x02, # . Input (Variable),9550x0A, 0x32, 0x01, # . Usage (0132h),9560x25, 0x3F, # . Logical Maximum (63),9570x75, 0x08, # . Report Size (8),9580x95, 0x01, # . Report Count (1),9590x81, 0x02, # . Input (Variable),9600x09, 0x5B, # . Usage (5Bh),9610x09, 0x5C, # . Usage (5Ch),9620x17, 0x00, 0x00, 0x00, 0x80, # . Logical Minimum (-2147483648),9630x27, 0xFF, 0xFF, 0xFF, 0x7F, # . Logical Maximum (2147483647),9640x75, 0x20, # . Report Size (32),9650x95, 0x02, # . Report Count (2),9660x81, 0x02, # . Input (Variable),9670x09, 0x77, # . Usage (77h),9680x15, 0x00, # . Logical Minimum (0),9690x26, 0xFF, 0x0F, # . Logical Maximum (4095),9700x75, 0x10, # . Report Size (16),9710x95, 0x01, # . Report Count (1),9720x81, 0x02, # . Input (Variable),9730xC0, # . End Collection,9740x85, 0x11, # . Report ID (17),9750x65, 0x00, # . Unit,9760x55, 0x00, # . Unit Exponent (0),9770x35, 0x00, # . Physical Minimum (0),9780x45, 0x00, # . Physical Maximum (0),9790x09, 0x39, # . Usage (39h),9800xA1, 0x00, # . Collection (Physical),9810x09, 0x39, # . Usage (39h),9820xA1, 0x00, # . Collection (Physical),9830x35, 0x00, # . Physical Minimum (0),9840x45, 0x00, # . Physical Maximum (0),9850x15, 0x00, # . Logical Minimum (0),9860x1A, 0x10, 0x09, # . Usage Minimum (0910h),9870x2A, 0x15, 0x09, # . Usage Maximum (0915h),9880x15, 0x00, # . Logical Minimum (0),9890x25, 0x01, # . Logical Maximum (1),9900x75, 0x01, # . Report Size (1),9910x95, 0x06, # . Report Count (6),9920x81, 0x02, # . Input (Variable),9930x95, 0x02, # . Report Count (2),9940x81, 0x03, # . Input (Constant, Variable),9950xC0, # . End Collection,9960x75, 0x08, # . Report Size (8),9970x95, 0x01, # . Report Count (1),9980x81, 0x03, # . Input (Constant, Variable),9990x09, 0x39, # . Usage (39h),10000xA1, 0x00, # . Collection (Physical),10010x35, 0x00, # . Physical Minimum (0),10020x45, 0x00, # . Physical Maximum (0),10030x0A, 0x95, 0x09, # . Usage (0995h),10040x15, 0x00, # . Logical Minimum (0),10050x25, 0x01, # . Logical Maximum (1),10060x75, 0x01, # . Report Size (1),10070x95, 0x01, # . Report Count (1),10080x81, 0x02, # . Input (Variable),10090x95, 0x07, # . Report Count (7),10100x81, 0x03, # . Input (Constant, Variable),10110xC0, # . End Collection,10120x09, 0x39, # . Usage (39h),10130xA1, 0x00, # . Collection (Physical),10140x35, 0x00, # . Physical Minimum (0),10150x15, 0x00, # . Logical Minimum (0),10160x0A, 0x38, 0x01, # . Usage (0138h),10170x65, 0x14, # . Unit (Degrees),10180x55, 0x00, # . Unit Exponent (0),10190x35, 0x00, # . Physical Minimum (0),10200x46, 0x67, 0x01, # . Physical Maximum (359),10210x15, 0x00, # . Logical Minimum (0),10220x25, 0x47, # . Logical Maximum (71),10230x75, 0x07, # . Report Size (7),10240x95, 0x01, # . Report Count (1),10250x81, 0x4A, # . Input (Variable, Wrap, Null State),10260x0A, 0x39, 0x01, # . Usage (0139h),10270x65, 0x00, # . Unit,10280x55, 0x00, # . Unit Exponent (0),10290x45, 0x00, # . Physical Maximum (0),10300x25, 0x01, # . Logical Maximum (1),10310x75, 0x01, # . Report Size (1),10320x95, 0x01, # . Report Count (1),10330x81, 0x02, # . Input (Variable),10340xC0, # . End Collection,10350x75, 0x08, # . Report Size (8),10360x95, 0x04, # . Report Count (4),10370x81, 0x03, # . Input (Constant, Variable),10380xC0, # . End Collection,10390x85, 0x13, # . Report ID (19),10400x65, 0x00, # . Unit,10410x55, 0x00, # . Unit Exponent (0),10420x35, 0x00, # . Physical Minimum (0),10430x45, 0x00, # . Physical Maximum (0),10440x0A, 0x13, 0x10, # . Usage (1013h),10450xA1, 0x00, # . Collection (Physical),10460x0A, 0x13, 0x10, # . Usage (1013h),10470xA1, 0x00, # . Collection (Physical),10480x35, 0x00, # . Physical Minimum (0),10490x45, 0x00, # . Physical Maximum (0),10500x15, 0x00, # . Logical Minimum (0),10510x0A, 0x3B, 0x04, # . Usage (043Bh),10520x15, 0x00, # . Logical Minimum (0),10530x25, 0x64, # . Logical Maximum (100),10540x75, 0x07, # . Report Size (7),10550x95, 0x01, # . Report Count (1),10560x81, 0x02, # . Input (Variable),10570x0A, 0x04, 0x04, # . Usage (0404h),10580x25, 0x01, # . Logical Maximum (1),10590x75, 0x01, # . Report Size (1),10600x81, 0x02, # . Input (Variable),10610xC0, # . End Collection,10620x0A, 0x13, 0x10, # . Usage (1013h),10630xA1, 0x00, # . Collection (Physical),10640x35, 0x00, # . Physical Minimum (0),10650x45, 0x00, # . Physical Maximum (0),10660x0A, 0x52, 0x04, # . Usage (0452h),10670x15, 0x00, # . Logical Minimum (0),10680x25, 0x01, # . Logical Maximum (1),10690x75, 0x01, # . Report Size (1),10700x95, 0x01, # . Report Count (1),10710x81, 0x02, # . Input (Variable),10720x0A, 0x41, 0x04, # . Usage (0441h),10730x15, 0x00, # . Logical Minimum (0),10740x25, 0x07, # . Logical Maximum (7),10750x75, 0x03, # . Report Size (3),10760x95, 0x02, # . Report Count (2),10770x81, 0x02, # . Input (Variable),10780x0A, 0x54, 0x04, # . Usage (0454h),10790x15, 0x00, # . Logical Minimum (0),10800x25, 0x01, # . Logical Maximum (1),10810x75, 0x01, # . Report Size (1),10820x95, 0x01, # . Report Count (1),10830x81, 0x02, # . Input (Variable),10840xC0, # . End Collection,10850x0A, 0x13, 0x10, # . Usage (1013h),10860xA1, 0x00, # . Collection (Physical),10870x35, 0x00, # . Physical Minimum (0),10880x45, 0x00, # . Physical Maximum (0),10890x15, 0x00, # . Logical Minimum (0),10900x0A, 0x3C, 0x04, # . Usage (043Ch),10910x55, 0x00, # . Unit Exponent (0),10920x65, 0x00, # . Unit,10930x15, 0xFB, # . Logical Minimum (-5),10940x25, 0x32, # . Logical Maximum (50),10950x75, 0x08, # . Report Size (8),10960x95, 0x01, # . Report Count (1),10970x81, 0x02, # . Input (Variable),10980xC0, # . End Collection,10990x0A, 0x13, 0x10, # . Usage (1013h),11000xA1, 0x00, # . Collection (Physical),11010x35, 0x00, # . Physical Minimum (0),11020x45, 0x00, # . Physical Maximum (0),11030x15, 0x00, # . Logical Minimum (0),11040x0A, 0x3D, 0x04, # . Usage (043Dh),11050x55, 0x00, # . Unit Exponent (0),11060x65, 0x00, # . Unit,11070x15, 0x00, # . Logical Minimum (0),11080x26, 0xFF, 0x0F, # . Logical Maximum (4095),11090x75, 0x10, # . Report Size (16),11100x95, 0x01, # . Report Count (1),11110x81, 0x02, # . Input (Variable),11120xC0, # . End Collection,11130x75, 0x08, # . Report Size (8),11140x95, 0x03, # . Report Count (3),11150x81, 0x03, # . Input (Constant, Variable),11160xC0, # . End Collection,11170x09, 0x0E, # . Usage (0Eh),11180xA1, 0x02, # . Collection (Logical),11190x85, 0x02, # . Report ID (2),11200x0A, 0x02, 0x10, # . Usage (1002h),11210x15, 0x02, # . Logical Minimum (2),11220x25, 0x02, # . Logical Maximum (2),11230x75, 0x08, # . Report Size (8),11240x95, 0x01, # . Report Count (1),11250xB1, 0x02, # . Feature (Variable),11260x85, 0x03, # . Report ID (3),11270x0A, 0x03, 0x10, # . Usage (1003h),11280x15, 0x00, # . Logical Minimum (0),11290x26, 0xFF, 0x00, # . Logical Maximum (255),11300x95, 0x01, # . Report Count (1),11310xB1, 0x02, # . Feature (Variable),11320x85, 0x04, # . Report ID (4),11330x0A, 0x04, 0x10, # . Usage (1004h),11340x15, 0x00, # . Logical Minimum (0),11350x25, 0x01, # . Logical Maximum (1),11360x95, 0x01, # . Report Count (1),11370xB1, 0x02, # . Feature (Variable),11380x85, 0x07, # . Report ID (7),11390x0A, 0x09, 0x10, # . Usage (1009h),11400x15, 0x00, # . Logical Minimum (0),11410x26, 0xFF, 0x00, # . Logical Maximum (255),11420x95, 0x01, # . Report Count (1),11430xB1, 0x02, # . Feature (Variable),11440xB1, 0x03, # . Feature (Constant, Variable),11450x0A, 0x07, 0x10, # . Usage (1007h),11460x09, 0x00, # . Usage (00h),11470x0A, 0x08, 0x10, # . Usage (1008h),11480x09, 0x00, # . Usage (00h),11490x09, 0x00, # . Usage (00h),11500x09, 0x00, # . Usage (00h),11510x27, 0xFF, 0xFF, 0x00, 0x00, # . Logical Maximum (65535),11520x75, 0x10, # . Report Size (16),11530x95, 0x06, # . Report Count (6),11540xB1, 0x02, # . Feature (Variable),11550x09, 0x00, # . Usage (00h),11560x25, 0x00, # . Logical Maximum (0),11570x75, 0x08, # . Report Size (8),11580x95, 0x01, # . Report Count (1),11590xB1, 0x03, # . Feature (Constant, Variable),11600x85, 0x0C, # . Report ID (12),11610x0A, 0x30, 0x0D, # . Usage (0D30h),11620x0A, 0x31, 0x0D, # . Usage (0D31h),11630x0A, 0x32, 0x0D, # . Usage (0D32h),11640x0A, 0x33, 0x0D, # . Usage (0D33h),11650x65, 0x11, # . Unit (Centimeter),11660x55, 0x0D, # . Unit Exponent (13),11670x35, 0x00, # . Physical Minimum (0),11680x46, 0xC8, 0x00, # . Physical Maximum (200),11690x15, 0x00, # . Logical Minimum (0),11700x26, 0x90, 0x01, # . Logical Maximum (400),11710x75, 0x10, # . Report Size (16),11720x95, 0x04, # . Report Count (4),11730xB1, 0x02, # . Feature (Variable),11740x85, 0x0D, # . Report ID (13),11750x0A, 0x0D, 0x10, # . Usage (100Dh),11760x65, 0x00, # . Unit,11770x55, 0x00, # . Unit Exponent (0),11780x45, 0x00, # . Physical Maximum (0),11790x25, 0x01, # . Logical Maximum (1),11800x75, 0x08, # . Report Size (8),11810x95, 0x01, # . Report Count (1),11820xB1, 0x02, # . Feature (Variable),11830x85, 0x14, # . Report ID (20),11840x0A, 0x14, 0x10, # . Usage (1014h),11850x26, 0xFF, 0x00, # . Logical Maximum (255),11860x95, 0x0D, # . Report Count (13),11870xB1, 0x02, # . Feature (Variable),11880x85, 0xCC, # . Report ID (204),11890x0A, 0xCC, 0x10, # . Usage (10CCh),11900x95, 0x02, # . Report Count (2),11910xB1, 0x02, # . Feature (Variable),11920xC0, # . End Collection,11930x09, 0x0E, # . Usage (0Eh),11940xA1, 0x02, # . Collection (Logical),11950x85, 0x31, # . Report ID (49),11960x0A, 0x31, 0x10, # . Usage (1031h),11970x25, 0x64, # . Logical Maximum (100),11980x95, 0x03, # . Report Count (3),11990xB1, 0x02, # . Feature (Variable),12000x95, 0x02, # . Report Count (2),12010xB1, 0x03, # . Feature (Constant, Variable),12020xC0, # . End Collection,12030x0A, 0xAC, 0x10, # . Usage (10ACh),12040xA1, 0x02, # . Collection (Logical),12050x15, 0x00, # . Logical Minimum (0),12060x26, 0xFF, 0x00, # . Logical Maximum (255),12070x75, 0x08, # . Report Size (8),12080x85, 0xAC, # . Report ID (172),12090x09, 0x00, # . Usage (00h),12100x96, 0xBF, 0x00, # . Report Count (191),12110x81, 0x02, # . Input (Variable),12120x85, 0x15, # . Report ID (21),12130x09, 0x00, # . Usage (00h),12140x95, 0x0E, # . Report Count (14),12150xB1, 0x02, # . Feature (Variable),12160x85, 0x33, # . Report ID (51),12170x09, 0x00, # . Usage (00h),12180x95, 0x12, # . Report Count (18),12190xB1, 0x02, # . Feature (Variable),12200x85, 0x44, # . Report ID (68),12210x09, 0x00, # . Usage (00h),12220x95, 0x04, # . Report Count (4),12230xB1, 0x02, # . Feature (Variable),12240x85, 0x45, # . Report ID (69),12250x09, 0x00, # . Usage (00h),12260x95, 0x20, # . Report Count (32),12270xB1, 0x02, # . Feature (Variable),12280x85, 0x60, # . Report ID (96),12290x09, 0x00, # . Usage (00h),12300x95, 0x3F, # . Report Count (63),12310xB1, 0x02, # . Feature (Variable),12320x85, 0x61, # . Report ID (97),12330x09, 0x00, # . Usage (00h),12340x95, 0x3E, # . Report Count (62),12350xB1, 0x02, # . Feature (Variable),12360x85, 0x62, # . Report ID (98),12370x09, 0x00, # . Usage (00h),12380x95, 0x3E, # . Report Count (62),12390xB1, 0x02, # . Feature (Variable),12400x85, 0x65, # . Report ID (101),12410x09, 0x00, # . Usage (00h),12420x95, 0x04, # . Report Count (4),12430xB1, 0x02, # . Feature (Variable),12440x85, 0x66, # . Report ID (102),12450x09, 0x00, # . Usage (00h),12460x95, 0x04, # . Report Count (4),12470xB1, 0x02, # . Feature (Variable),12480x85, 0x67, # . Report ID (103),12490x09, 0x00, # . Usage (00h),12500x95, 0x04, # . Report Count (4),12510xB1, 0x02, # . Feature (Variable),12520x85, 0x68, # . Report ID (104),12530x09, 0x00, # . Usage (00h),12540x95, 0x11, # . Report Count (17),12550xB1, 0x02, # . Feature (Variable),12560x85, 0x6F, # . Report ID (111),12570x09, 0x00, # . Usage (00h),12580x95, 0x3E, # . Report Count (62),12590xB1, 0x02, # . Feature (Variable),12600x85, 0xCD, # . Report ID (205),12610x09, 0x00, # . Usage (00h),12620x95, 0x02, # . Report Count (2),12630xB1, 0x02, # . Feature (Variable),12640x85, 0x16, # . Report ID (22),12650x09, 0x00, # . Usage (00h),12660x95, 0x0E, # . Report Count (14),12670xB1, 0x02, # . Feature (Variable),12680x85, 0x35, # . Report ID (53),12690x09, 0x00, # . Usage (00h),12700x95, 0x0A, # . Report Count (10),12710xB1, 0x02, # . Feature (Variable),12720xC0, # . End Collection,12730x85, 0xD1, # . Report ID (209),12740x09, 0x01, # . Usage (01h),12750x96, 0x04, 0x01, # . Report Count (260),12760xB1, 0x02, # . Feature (Variable),12770x85, 0xD2, # . Report ID (210),12780x09, 0x01, # . Usage (01h),12790x96, 0x04, 0x01, # . Report Count (260),12800xB1, 0x02, # . Feature (Variable),12810x85, 0xD3, # . Report ID (211),12820x09, 0x01, # . Usage (01h),12830x96, 0x04, 0x00, # . Report Count (4),12840xB1, 0x02, # . Feature (Variable),12850x85, 0xD4, # . Report ID (212),12860x09, 0x01, # . Usage (01h),12870x96, 0x04, 0x00, # . Report Count (4),12880xB1, 0x02, # . Feature (Variable),12890x85, 0xD5, # . Report ID (213),12900x09, 0x01, # . Usage (01h),12910x96, 0x04, 0x00, # . Report Count (4),12920xB1, 0x02, # . Feature (Variable),12930x85, 0xD6, # . Report ID (214),12940x09, 0x01, # . Usage (01h),12950x96, 0x04, 0x00, # . Report Count (4),12960xB1, 0x02, # . Feature (Variable),12970x85, 0xD7, # . Report ID (215),12980x09, 0x01, # . Usage (01h),12990x96, 0x08, 0x00, # . Report Count (8),13000xB1, 0x02, # . Feature (Variable),13010x85, 0xD8, # . Report ID (216),13020x09, 0x01, # . Usage (01h),13030x96, 0x0C, 0x00, # . Report Count (12),13040xB1, 0x02, # . Feature (Variable),13050x85, 0xD9, # . Report ID (217),13060x09, 0x01, # . Usage (01h),13070x96, 0x00, 0x0A, # . Report Count (2560),13080xB1, 0x02, # . Feature (Variable),13090x85, 0xDA, # . Report ID (218),13100x09, 0x01, # . Usage (01h),13110x96, 0x04, 0x04, # . Report Count (1028),13120xB1, 0x02, # . Feature (Variable),13130x85, 0xDB, # . Report ID (219),13140x09, 0x01, # . Usage (01h),13150x96, 0x06, 0x00, # . Report Count (6),13160xB1, 0x02, # . Feature (Variable),13170x85, 0xDC, # . Report ID (220),13180x09, 0x01, # . Usage (01h),13190x96, 0x02, 0x00, # . Report Count (2),13200xB1, 0x02, # . Feature (Variable),13210x85, 0xDD, # . Report ID (221),13220x09, 0x01, # . Usage (01h),13230x96, 0x04, 0x00, # . Report Count (4),13240xB1, 0x02, # . Feature (Variable),13250x85, 0xDE, # . Report ID (222),13260x09, 0x01, # . Usage (01h),13270x96, 0x04, 0x00, # . Report Count (4),13280xB1, 0x02, # . Feature (Variable),13290x85, 0xDF, # . Report ID (223),13300x09, 0x01, # . Usage (01h),13310x96, 0x22, 0x00, # . Report Count (34),13320xB1, 0x02, # . Feature (Variable),13330x85, 0xE0, # . Report ID (224),13340x09, 0x01, # . Usage (01h),13350x96, 0x01, 0x00, # . Report Count (1),13360xB1, 0x02, # . Feature (Variable),13370x85, 0xE1, # . Report ID (225),13380x09, 0x01, # . Usage (01h),13390x96, 0x02, 0x00, # . Report Count (2),13400xB1, 0x02, # . Feature (Variable),13410x85, 0xE2, # . Report ID (226),13420x09, 0x01, # . Usage (01h),13430x96, 0x02, 0x00, # . Report Count (2),13440xB1, 0x02, # . Feature (Variable),13450x85, 0xE3, # . Report ID (227),13460x09, 0x01, # . Usage (01h),13470x96, 0x02, 0x00, # . Report Count (2),13480xB1, 0x02, # . Feature (Variable),13490x85, 0xE4, # . Report ID (228),13500x09, 0x01, # . Usage (01h),13510x96, 0xFF, 0x01, # . Report Count (511),13520xB1, 0x02, # . Feature (Variable),13530x85, 0xCB, # . Report ID (203),13540x09, 0x01, # . Usage (01h),13550x96, 0x1F, 0x00, # . Report Count (31),13560xB1, 0x02, # . Feature (Variable),13570xC0 # . End Collection1358]1359# fmt: on136013611362