@@ -75,7 +75,7 @@ const u8 USB_ConfigDescriptor[] = {
75
75
0x00 , // bCountryCode
76
76
0x01 , // bNumDescriptors
77
77
0x22 , // bDescriptorType
78
- 0xD3 , 0x01 , // DescriptorLength
78
+ 0xE1 , 0x01 , // DescriptorLength
79
79
80
80
// Endpoint 1: Control Surface Send
81
81
0x07 , // bLength
@@ -113,6 +113,7 @@ const u8 hidDescriptor[] = {
113
113
0x75 , 0x08 , // Report Size (8)
114
114
0x95 , 0x04 , // Report Count (4)
115
115
0x81 , 0x02 , // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
116
+
116
117
0x09 , 0x39 , // Usage (Hat switch)
117
118
0x15 , 0x00 , // Logical Minimum (0)
118
119
0x25 , 0x07 , // Logical Maximum (7)
@@ -122,6 +123,7 @@ const u8 hidDescriptor[] = {
122
123
0x75 , 0x04 , // Report Size (4)
123
124
0x95 , 0x01 , // Report Count (1)
124
125
0x81 , 0x42 , // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
126
+
125
127
0x65 , 0x00 , // Unit (None)
126
128
0x05 , 0x09 , // Usage Page (Button)
127
129
0x19 , 0x01 , // Usage Minimum (0x01)
@@ -131,13 +133,13 @@ const u8 hidDescriptor[] = {
131
133
0x75 , 0x01 , // Report Size (1)
132
134
0x95 , 0x0E , // Report Count (14)
133
135
0x81 , 0x02 , // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
136
+
134
137
0x06 , 0x00 , 0xFF , // Usage Page (Vendor Defined 0xFF00)
135
138
0x09 , 0x20 , // Usage (0x20)
136
139
0x75 , 0x06 , // Report Size (6)
137
140
0x95 , 0x01 , // Report Count (1)
138
- 0x15 , 0x00 , // Logical Minimum (0)
139
- 0x25 , 0x7F , // Logical Maximum (127)
140
141
0x81 , 0x02 , // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
142
+
141
143
0x05 , 0x01 , // Usage Page (Generic Desktop Ctrls)
142
144
0x09 , 0x33 , // Usage (Rx)
143
145
0x09 , 0x34 , // Usage (Ry)
@@ -146,18 +148,22 @@ const u8 hidDescriptor[] = {
146
148
0x75 , 0x08 , // Report Size (8)
147
149
0x95 , 0x02 , // Report Count (2)
148
150
0x81 , 0x02 , // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
151
+
149
152
0x06 , 0x00 , 0xFF , // Usage Page (Vendor Defined 0xFF00)
150
153
0x09 , 0x21 , // Usage (0x21)
151
154
0x95 , 0x36 , // Report Count (54)
152
155
0x81 , 0x02 , // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
156
+
153
157
0x85 , 0x05 , // Report ID (5)
154
158
0x09 , 0x22 , // Usage (0x22)
155
159
0x95 , 0x1F , // Report Count (31)
156
160
0x91 , 0x02 , // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
157
- 0x85 , 0x04 , // Report ID (4)
158
- 0x09 , 0x23 , // Usage (0x23)
159
- 0x95 , 0x24 , // Report Count (36)
161
+
162
+ 0x85 , 0x03 , // Report ID (3)
163
+ 0x0A , 0x21 , 0x27 , // Usage (0x2721)
164
+ 0x95 , 0x2F , // Report Count (47)
160
165
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
166
+
161
167
0x85 , 0x02 , // Report ID (2)
162
168
0x09 , 0x24 , // Usage (0x24)
163
169
0x95 , 0x24 , // Report Count (36)
@@ -277,47 +283,35 @@ const u8 hidDescriptor[] = {
277
283
0x09 , 0x46 , // Usage (0x46)
278
284
0x95 , 0x15 , // Report Count (21)
279
285
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
280
- 0x85 , 0xF0 , // Report ID (240)
281
- 0x09 , 0x47 , // Usage (0x47)
282
- 0x95 , 0x3F , // Report Count (63)
283
- 0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
284
- 0x85 , 0xF1 , // Report ID (241)
285
- 0x09 , 0x48 , // Usage (0x48)
286
- 0x95 , 0x3F , // Report Count (63)
287
- 0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
288
- 0x85 , 0xF2 , // Report ID (242)
289
- 0x09 , 0x49 , // Usage (0x49)
290
- 0x95 , 0x0F , // Report Count (15)
291
- 0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
292
- 0x85 , 0xA7 , // Report ID (167)
286
+ 0x85 , 0xA7 , // Report ID (247)
293
287
0x09 , 0x4A , // Usage (0x4A)
294
288
0x95 , 0x01 , // Report Count (1)
295
289
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
296
- 0x85 , 0xA8 , // Report ID (168 )
290
+ 0x85 , 0xA8 , // Report ID (250 )
297
291
0x09 , 0x4B , // Usage (0x4B)
298
292
0x95 , 0x01 , // Report Count (1)
299
293
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
300
- 0x85 , 0xA9 , // Report ID (169 )
294
+ 0x85 , 0xA9 , // Report ID (251 )
301
295
0x09 , 0x4C , // Usage (0x4C)
302
296
0x95 , 0x08 , // Report Count (8)
303
297
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
304
- 0x85 , 0xAA , // Report ID (170 )
298
+ 0x85 , 0xAA , // Report ID (252 )
305
299
0x09 , 0x4E , // Usage (0x4E)
306
300
0x95 , 0x01 , // Report Count (1)
307
301
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
308
- 0x85 , 0xAB , // Report ID (171 )
302
+ 0x85 , 0xAB , // Report ID (253 )
309
303
0x09 , 0x4F , // Usage (0x4F)
310
304
0x95 , 0x39 , // Report Count (57)
311
305
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
312
- 0x85 , 0xAC , // Report ID (172 )
306
+ 0x85 , 0xAC , // Report ID (254 )
313
307
0x09 , 0x50 , // Usage (0x50)
314
308
0x95 , 0x39 , // Report Count (57)
315
309
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
316
- 0x85 , 0xAD , // Report ID (173 )
310
+ 0x85 , 0xAD , // Report ID (255 )
317
311
0x09 , 0x51 , // Usage (0x51)
318
312
0x95 , 0x0B , // Report Count (11)
319
313
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
320
- 0x85 , 0xAE , // Report ID (174 )
314
+ 0x85 , 0xAE , // Report ID (256 )
321
315
0x09 , 0x52 , // Usage (0x52)
322
316
0x95 , 0x01 , // Report Count (1)
323
317
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
@@ -330,6 +324,27 @@ const u8 hidDescriptor[] = {
330
324
0x95 , 0x3F , // Report Count (63)
331
325
0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
332
326
0xC0 , // End Collection
327
+
328
+ 0x06 , 0xF0 , 0xFF , // Usage Page (Vendor Defined 0xFFF0)
329
+ 0x09 , 0x40 , // Usage (0x40)
330
+ 0xA1 , 0x01 , // Collection (Application)
331
+ 0x85 , 0xF0 , // Report ID (-16) AUTH F0
332
+ 0x09 , 0x47 , // Usage (0x47)
333
+ 0x95 , 0x3F , // Report Count (63)
334
+ 0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
335
+ 0x85 , 0xF1 , // Report ID (-15) AUTH F1
336
+ 0x09 , 0x48 , // Usage (0x48)
337
+ 0x95 , 0x3F , // Report Count (63)
338
+ 0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
339
+ 0x85 , 0xF2 , // Report ID (-14) AUTH F2
340
+ 0x09 , 0x49 , // Usage (0x49)
341
+ 0x95 , 0x0F , // Report Count (15)
342
+ 0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
343
+ 0x85 , 0xF3 , // Report ID (-13) Auth F3 (Reset)
344
+ 0x0A , 0x01 , 0x47 , // Usage (0x4701)
345
+ 0x95 , 0x07 , // Report Count (7)
346
+ 0xB1 , 0x02 , // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
347
+ 0xC0 , // End Collection
333
348
};
334
349
335
350
const u16 hidDescriptorSize = sizeof (hidDescriptor);
0 commit comments