#ifndef USB_DESCRIPTORS_H_ #define USB_DESCRIPTORS_H_ enum { REPORT_ID_KEYBOARD = 1, REPORT_ID_CONSUMER_CONTROL, REPORT_ID_COUNT }; enum { ITF_NUM_CDC=0, ITF_NUM_CDC_DATA, ITF_NUM_HID, ITF_NUM_TOTAL }; #define TUD_HID_REPORT_DESC_NKRO(...) \ HID_USAGE_PAGE(HID_USAGE_PAGE_DESKTOP), HID_USAGE(HID_USAGE_PAGE_KEYBOARD), \ HID_COLLECTION(HID_COLLECTION_APPLICATION), \ __VA_ARGS__ HID_REPORT_SIZE(1), HID_REPORT_COUNT(8), \ HID_USAGE_PAGE(HID_USAGE_PAGE_KEYBOARD), HID_USAGE_MIN(224), \ HID_USAGE_MAX(231), HID_LOGICAL_MIN(0), HID_LOGICAL_MAX(1), \ HID_INPUT(HID_VARIABLE), \ HID_REPORT_SIZE(1), HID_REPORT_COUNT(5), \ HID_USAGE_PAGE(HID_USAGE_PAGE_LED), HID_USAGE_MIN(1), HID_USAGE_MAX(5), \ HID_OUTPUT(HID_VARIABLE), HID_REPORT_SIZE(3), HID_REPORT_COUNT(1),\ HID_OUTPUT(HID_CONSTANT), \ HID_REPORT_SIZE(1), HID_REPORT_COUNT(14 * 8), \ HID_LOGICAL_MIN(0), HID_LOGICAL_MAX(1), \ HID_USAGE_PAGE(HID_USAGE_PAGE_KEYBOARD), HID_USAGE_MIN(0), \ HID_USAGE_MAX(14 * 8 - 1), HID_INPUT(HID_VARIABLE), HID_COLLECTION_END #define TUD_HID_REPORT_DESC_MEDIA(...) \ HID_USAGE_PAGE(HID_USAGE_PAGE_CONSUMER), \ HID_USAGE(HID_USAGE_CONSUMER_CONTROL), \ HID_COLLECTION(HID_COLLECTION_APPLICATION), \ __VA_ARGS__ \ HID_LOGICAL_MIN(0), \ HID_LOGICAL_MAX(1), \ HID_REPORT_SIZE(1), \ HID_REPORT_COUNT(8), \ /* next, previous, play/pause, mute, vol up, vol down*/ \ HID_USAGE(0xB5), \ HID_USAGE(0xB6), \ HID_USAGE(0xCD), \ HID_USAGE(0xE2), \ HID_USAGE(0xE9), \ HID_USAGE(0xEA), \ HID_INPUT(HID_VARIABLE), \ HID_COLLECTION_END #endif /* USB_DESCRIPTORS_H_ */