Lines Matching +full:0 +full:x75

11 #define VID_HUION 0x256C
12 #define PID_DIAL_2 0x0060
47 * # 0x06, 0x00, 0xff, // Usage Page (Vendor Defined Page 1) 0
48 * # 0x09, 0x01, // Usage (Vendor Usage 1) 3
49 * # 0xa1, 0x01, // Collection (Application) 5
50 * # 0x85, 0x08, // Report ID (8) 7
51 * # 0x75, 0x58, // Report Size (88) 9
52 * # 0x95, 0x01, // Report Count (1) 11
53 * # 0x09, 0x01, // Usage (Vendor Usage 1) 13
54 * # 0x81, 0x02, // Input (Data,Var,Abs) 15
55 * # 0xc0, // End Collection 17
67 * # 0x05, 0x0d, // Usage Page (Digitizers) 0
68 * # 0x09, 0x02, // Usage (Pen) 2
69 * # 0xa1, 0x01, // Collection (Application) 4
70 * # 0x85, 0x0a, // Report ID (10) 6
71 * # 0x09, 0x20, // Usage (Stylus) 8
72 * # 0xa1, 0x01, // Collection (Application) 10
73 * # 0x09, 0x42, // Usage (Tip Switch) 12
74 * # 0x09, 0x44, // Usage (Barrel Switch) 14
75 * # 0x09, 0x45, // Usage (Eraser) 16
76 * # 0x09, 0x3c, // Usage (Invert) 18
77 * # 0x15, 0x00, // Logical Minimum (0) 20
78 * # 0x25, 0x01, // Logical Maximum (1) 22
79 * # 0x75, 0x01, // Report Size (1) 24
80 * # 0x95, 0x06, // Report Count (6) 26
81 * # 0x81, 0x02, // Input (Data,Var,Abs) 28
82 * # 0x09, 0x32, // Usage (In Range) 30
83 * # 0x75, 0x01, // Report Size (1) 32
84 * # 0x95, 0x01, // Report Count (1) 34
85 * # 0x81, 0x02, // Input (Data,Var,Abs) 36
86 * # 0x81, 0x03, // Input (Cnst,Var,Abs) 38
87 * # 0x05, 0x01, // Usage Page (Generic Desktop) 40
88 * # 0x09, 0x30, // Usage (X) 42
89 * # 0x09, 0x31, // Usage (Y) 44
90 * # 0x55, 0x0d, // Unit Exponent (-3) 46
91 * # 0x65, 0x33, // Unit (EnglishLinear: in³) 48
92 * # 0x26, 0xff, 0x7f, // Logical Maximum (32767) 50
93 * # 0x35, 0x00, // Physical Minimum (0) 53
94 * # 0x46, 0x00, 0x08, // Physical Maximum (2048) 55
95 * # 0x75, 0x10, // Report Size (16) 58
96 * # 0x95, 0x02, // Report Count (2) 60
97 * # 0x81, 0x02, // Input (Data,Var,Abs) 62
98 * # 0x05, 0x0d, // Usage Page (Digitizers) 64
99 * # 0x09, 0x30, // Usage (Tip Pressure) 66
100 * # 0x26, 0xff, 0x1f, // Logical Maximum (8191) 68
101 * # 0x75, 0x10, // Report Size (16) 71
102 * # 0x95, 0x01, // Report Count (1) 73
103 * # 0x81, 0x02, // Input (Data,Var,Abs) 75
104 * # 0x09, 0x3d, // Usage (X Tilt) 77
105 * # 0x09, 0x3e, // Usage (Y Tilt) 79
106 * # 0x15, 0x81, // Logical Minimum (-127) 81
107 * # 0x25, 0x7f, // Logical Maximum (127) 83
108 * # 0x75, 0x08, // Report Size (8) 85
109 * # 0x95, 0x02, // Report Count (2) 87
110 * # 0x81, 0x02, // Input (Data,Var,Abs) 89
111 * # 0xc0, // End Collection 91
112 * # 0xc0, // End Collection 92
1130d 09 02 a1 01 85 0a 09 20 a1 01 09 42 09 44 09 45 09 3c 15 00 25 01 75 01 95 06 81 02 09 32 75 01…
120 * # 0x05, 0x01, // Usage Page (Generic Desktop) 0
121 * # 0x09, 0x0e, // Usage (System Multi-Axis Controller) 2
122 * # 0xa1, 0x01, // Collection (Application) 4
123 * # 0x85, 0x11, // Report ID (17) 6
124 * # 0x05, 0x0d, // Usage Page (Digitizers) 8
125 * # 0x09, 0x21, // Usage (Puck) 10
126 * # 0xa1, 0x02, // Collection (Logical) 12
127 * # 0x15, 0x00, // Logical Minimum (0) 14
128 * # 0x25, 0x01, // Logical Maximum (1) 16
129 * # 0x75, 0x01, // Report Size (1) 18
130 * # 0x95, 0x01, // Report Count (1) 20
131 * # 0xa1, 0x00, // Collection (Physical) 22
132 * # 0x05, 0x09, // Usage Page (Button) 24
133 * # 0x09, 0x01, // Usage (Vendor Usage 0x01) 26
134 * # 0x81, 0x02, // Input (Data,Var,Abs) 28
135 * # 0x05, 0x0d, // Usage Page (Digitizers) 30
136 * # 0x09, 0x33, // Usage (Touch) 32
137 * # 0x81, 0x02, // Input (Data,Var,Abs) 34
138 * # 0x95, 0x06, // Report Count (6) 36
139 * # 0x81, 0x03, // Input (Cnst,Var,Abs) 38
140 * # 0xa1, 0x02, // Collection (Logical) 40
141 * # 0x05, 0x01, // Usage Page (Generic Desktop) 42
142 * # 0x09, 0x37, // Usage (Dial) 44
143 * # 0x16, 0x00, 0x80, // Logical Minimum (-32768) 46
144 * # 0x26, 0xff, 0x7f, // Logical Maximum (32767) 49
145 * # 0x75, 0x10, // Report Size (16) 52
146 * # 0x95, 0x01, // Report Count (1) 54
147 * # 0x81, 0x06, // Input (Data,Var,Rel) 56
148 * # 0x35, 0x00, // Physical Minimum (0) 58
149 * # 0x46, 0x10, 0x0e, // Physical Maximum (3600) 60
150 * # 0x15, 0x00, // Logical Minimum (0) 63
151 * # 0x26, 0x10, 0x0e, // Logical Maximum (3600) 65
152 * # 0x09, 0x48, // Usage (Resolution Multiplier) 68
153 * # 0xb1, 0x02, // Feature (Data,Var,Abs) 70
154 * # 0x45, 0x00, // Physical Maximum (0) 72
155 * # 0xc0, // End Collection 74
156 * # 0x75, 0x08, // Report Size (8) 75
157 * # 0x95, 0x01, // Report Count (1) 77
158 * # 0x81, 0x01, // Input (Cnst,Arr,Abs) 79
159 * # 0x75, 0x08, // Report Size (8) 81
160 * # 0x95, 0x01, // Report Count (1) 83
161 * # 0x81, 0x01, // Input (Cnst,Arr,Abs) 85
162 * # 0x75, 0x08, // Report Size (8) 87
163 * # 0x95, 0x01, // Report Count (1) 89
164 * # 0x81, 0x01, // Input (Cnst,Arr,Abs) 91
165 * # 0x75, 0x08, // Report Size (8) 93
166 * # 0x95, 0x01, // Report Count (1) 95
167 * # 0x81, 0x01, // Input (Cnst,Arr,Abs) 97
168 * # 0x75, 0x08, // Report Size (8) 99
169 * # 0x95, 0x01, // Report Count (1) 101
170 * # 0x81, 0x01, // Input (Cnst,Arr,Abs) 103
171 * # 0xc0, // End Collection 105
172 * # 0xc0, // End Collection 106
173 * # 0xc0, // End Collection 107
174 * # 0x05, 0x01, // Usage Page (Generic Desktop) 108
175 * # 0x09, 0x06, // Usage (Keyboard) 110
176 * # 0xa1, 0x01, // Collection (Application) 112
177 * # 0x85, 0x03, // Report ID (3) 114
178 * # 0x05, 0x07, // Usage Page (Keyboard) 116
179 * # 0x19, 0xe0, // Usage Minimum (224) 118
180 * # 0x29, 0xe7, // Usage Maximum (231) 120
181 * # 0x15, 0x00, // Logical Minimum (0) 122
182 * # 0x25, 0x01, // Logical Maximum (1) 124
183 * # 0x75, 0x01, // Report Size (1) 126
184 * # 0x95, 0x08, // Report Count (8) 128
185 * # 0x81, 0x02, // Input (Data,Var,Abs) 130
186 * # 0x05, 0x07, // Usage Page (Keyboard) 132
187 * # 0x19, 0x00, // Usage Minimum (0) 134
188 * # 0x29, 0xff, // Usage Maximum (255) 136
189 * # 0x26, 0xff, 0x00, // Logical Maximum (255) 138
190 * # 0x75, 0x08, // Report Size (8) 141
191 * # 0x95, 0x06, // Report Count (6) 143
192 * # 0x81, 0x00, // Input (Data,Arr,Abs) 145
193 * # 0xc0, // End Collection 147
1940e a1 01 85 11 05 0d 09 21 a1 02 15 00 25 01 75 01 95 01 a1 00 05 09 09 01 81 02 05 0d 09 33 81 02…
215 // -- Byte 0 in report
217 LogicalMaximum_i8(0)
245 UsageMinimum_i8(0x01)
246 UsageMaximum_i8(0x08)
247 LogicalMinimum_i8(0x0)
248 LogicalMaximum_i8(0x1)
264 // -- Byte 0 in report
272 LogicalMinimum_i8(0)
288 PhysicalMinimum_i16(0)
290 LogicalMinimum_i16(0)
294 PhysicalMinimum_i16(0)
296 LogicalMinimum_i16(0)
303 LogicalMinimum_i16(0)
321 // Byte 0
327 LogicalMinimum_i8(0)
348 LogicalMinimum_i16(0)
350 PhysicalMinimum_i16(0)
355 LogicalMinimum_i16(0)
357 PhysicalMinimum_i16(0)
364 LogicalMinimum_i16(0)
385 // Byte 0
387 LogicalMinimum_i8(0)
408 UsageMinimum_i8(0x1)
409 UsageMaximum_i8(0x8)
410 LogicalMinimum_i8(0x0)
411 LogicalMaximum_i8(0x1)
444 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, HID_MAX_DESCRIPTOR_SIZE /* size */); in SEC()
449 return 0; /* EPERM check */ in SEC()
457 sizeof(EXPECTED_FIRMWARE_ID) - 1) == 0; in SEC()
484 return 0; in SEC()
490 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 16 /* size */); in SEC()
494 return 0; /* EPERM check */ in SEC()
497 if (data[0] == PAD_REPORT_ID) { in SEC()
503 * Button 3: 03 00 0c 00 00 00 00 00 -> i in SEC()
508 button &= 0xc0; in SEC()
511 case 0x000000: in SEC()
513 case 0x050000: in SEC()
514 button |= BIT(0); in SEC()
516 case 0x080000: in SEC()
519 case 0x0c0000: in SEC()
522 case 0xe01600: in SEC()
525 case 0x2c0000: in SEC()
528 case 0xe0e21d: in SEC()
533 __u8 report[8] = {PAD_REPORT_ID, 0x0, 0x0, 0x0, 0x00, button}; in SEC()
540 if (data[0] == DIAL_REPORT_ID) { in SEC()
549 button &= 0x3f; in SEC()
552 __u8 report[] = {PAD_REPORT_ID, 0x0, 0x0, 0x0, dial, button}; in SEC()
561 if (data[0] == VENDOR_REPORT_ID) { in SEC()
563 if (data[1] & 0x20) { in SEC()
574 __u8 dial_1 = 0, dial_2 = 0; in SEC()
577 if (data[1] == 0xf1) { in SEC()
578 __u8 d = 0; in SEC()
581 d = 0xff; in SEC()
592 dial_1 = 0; // dial in SEC()
593 dial_2 = 0; in SEC()
599 pad_report->btn_stylus = 0; in SEC()
600 pad_report->x = 0; in SEC()
601 pad_report->y = 0; in SEC()
612 return 0; in SEC()
627 ctx->retval = 0; in probe()
633 return 0; in probe()