@@ -310,46 +310,46 @@ static inline bool tud_hid_gamepad_report(uint8_t report_id, int8_t x, int8_t y
310
310
HID_COLLECTION_END \
311
311
312
312
// Gamepad Report Descriptor Template
313
- // with 16 buttons, 2 joysticks and 1 hat/dpad with following layout
314
- // | X | Y | Z | Rz | Rx | Ry (1 byte each) | hat/DPAD (1 byte) | Button Map (2 bytes) |
313
+ // with 32 buttons, 2 joysticks and 1 hat/dpad with following layout
314
+ // | X | Y | Z | Rz | Rx | Ry (1 byte each) | hat/DPAD (1 byte) | Button Map (4 bytes) |
315
315
#define TUD_HID_REPORT_DESC_GAMEPAD (...) \
316
316
HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ) ,\
317
317
HID_USAGE ( HID_USAGE_DESKTOP_GAMEPAD ) ,\
318
318
HID_COLLECTION ( HID_COLLECTION_APPLICATION ) ,\
319
319
/* Report ID if any */ \
320
320
__VA_ARGS__ \
321
321
/* 8 bit X, Y, Z, Rz, Rx, Ry (min -127, max 127 ) */ \
322
- HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ) ,\
323
- HID_USAGE ( HID_USAGE_DESKTOP_X ) ,\
324
- HID_USAGE ( HID_USAGE_DESKTOP_Y ) ,\
325
- HID_USAGE ( HID_USAGE_DESKTOP_Z ) ,\
326
- HID_USAGE ( HID_USAGE_DESKTOP_RZ ) ,\
327
- HID_USAGE ( HID_USAGE_DESKTOP_RX ) ,\
328
- HID_USAGE ( HID_USAGE_DESKTOP_RY ) ,\
329
- HID_LOGICAL_MIN ( 0x81 ) ,\
330
- HID_LOGICAL_MAX ( 0x7f ) ,\
331
- HID_REPORT_COUNT ( 6 ) ,\
332
- HID_REPORT_SIZE ( 8 ) ,\
333
- HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
322
+ HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ) ,\
323
+ HID_USAGE ( HID_USAGE_DESKTOP_X ) ,\
324
+ HID_USAGE ( HID_USAGE_DESKTOP_Y ) ,\
325
+ HID_USAGE ( HID_USAGE_DESKTOP_Z ) ,\
326
+ HID_USAGE ( HID_USAGE_DESKTOP_RZ ) ,\
327
+ HID_USAGE ( HID_USAGE_DESKTOP_RX ) ,\
328
+ HID_USAGE ( HID_USAGE_DESKTOP_RY ) ,\
329
+ HID_LOGICAL_MIN ( 0x81 ) ,\
330
+ HID_LOGICAL_MAX ( 0x7f ) ,\
331
+ HID_REPORT_COUNT ( 6 ) ,\
332
+ HID_REPORT_SIZE ( 8 ) ,\
333
+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
334
334
/* 8 bit DPad/Hat Button Map */ \
335
- HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ) ,\
336
- HID_USAGE ( HID_USAGE_DESKTOP_HAT_SWITCH ) ,\
337
- HID_LOGICAL_MIN ( 1 ) ,\
338
- HID_LOGICAL_MAX ( 8 ) ,\
339
- HID_PHYSICAL_MIN ( 0 ) ,\
340
- HID_PHYSICAL_MAX_N ( 315 , 2 ) ,\
341
- HID_REPORT_COUNT ( 1 ) ,\
342
- HID_REPORT_SIZE ( 8 ) ,\
343
- HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
344
- /* 16 bit Button Map */ \
345
- HID_USAGE_PAGE ( HID_USAGE_PAGE_BUTTON ) ,\
346
- HID_USAGE_MIN ( 1 ) ,\
347
- HID_USAGE_MAX ( 32 ) ,\
348
- HID_LOGICAL_MIN ( 0 ) ,\
349
- HID_LOGICAL_MAX ( 1 ) ,\
350
- HID_REPORT_COUNT ( 32 ) ,\
351
- HID_REPORT_SIZE ( 1 ) ,\
352
- HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
335
+ HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ) ,\
336
+ HID_USAGE ( HID_USAGE_DESKTOP_HAT_SWITCH ) ,\
337
+ HID_LOGICAL_MIN ( 1 ) ,\
338
+ HID_LOGICAL_MAX ( 8 ) ,\
339
+ HID_PHYSICAL_MIN ( 0 ) ,\
340
+ HID_PHYSICAL_MAX_N ( 315 , 2 ) ,\
341
+ HID_REPORT_COUNT ( 1 ) ,\
342
+ HID_REPORT_SIZE ( 8 ) ,\
343
+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
344
+ /* 32 bit Button Map */ \
345
+ HID_USAGE_PAGE ( HID_USAGE_PAGE_BUTTON ) ,\
346
+ HID_USAGE_MIN ( 1 ) ,\
347
+ HID_USAGE_MAX ( 32 ) ,\
348
+ HID_LOGICAL_MIN ( 0 ) ,\
349
+ HID_LOGICAL_MAX ( 1 ) ,\
350
+ HID_REPORT_COUNT ( 32 ) ,\
351
+ HID_REPORT_SIZE ( 1 ) ,\
352
+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
353
353
HID_COLLECTION_END \
354
354
355
355
// HID Generic Input & Output
0 commit comments