@@ -352,6 +352,31 @@ static inline bool tud_hid_gamepad_report(uint8_t report_id, int8_t x, int8_t y
352
352
HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
353
353
HID_COLLECTION_END \
354
354
355
+ // FIDO U2F Authenticator Descriptor Template
356
+ // - 1st parameter is report size, which is 64 bytes maximum in U2F
357
+ // - 2nd parameter is HID_REPORT_ID(n) (optional)
358
+ #define TUD_HID_REPORT_DESC_FIDO_U2F (report_size , ...) \
359
+ HID_USAGE_PAGE_N ( HID_USAGE_PAGE_FIDO , 2 ) ,\
360
+ HID_USAGE ( HID_USAGE_FIDO_U2FHID ) ,\
361
+ HID_COLLECTION ( HID_COLLECTION_APPLICATION ) ,\
362
+ /* Report ID if any */ \
363
+ __VA_ARGS__ \
364
+ /* Usage Data In */ \
365
+ HID_USAGE ( HID_USAGE_FIDO_DATA_IN ) ,\
366
+ HID_LOGICAL_MIN ( 0 ) ,\
367
+ HID_LOGICAL_MAX_N ( 0xff , 2 ) ,\
368
+ HID_REPORT_SIZE ( 8 ) ,\
369
+ HID_REPORT_COUNT ( report_size ) ,\
370
+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
371
+ /* Usage Data Out */ \
372
+ HID_USAGE ( HID_USAGE_FIDO_DATA_OUT ) ,\
373
+ HID_LOGICAL_MIN ( 0 ) ,\
374
+ HID_LOGICAL_MAX_N ( 0xff , 2 ) ,\
375
+ HID_REPORT_SIZE ( 8 ) ,\
376
+ HID_REPORT_COUNT ( report_size ) ,\
377
+ HID_OUTPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,\
378
+ HID_COLLECTION_END \
379
+
355
380
// HID Generic Input & Output
356
381
// - 1st parameter is report size (mandatory)
357
382
// - 2nd parameter is report id HID_REPORT_ID(n) (optional)
0 commit comments