From 36cca6c28740b5a6cf5ada519bc1a02f40f94839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Tue, 7 Mar 2017 19:11:26 +0100 Subject: [PATCH] Refactor media keyboard report descriptor using LUFA macros. --- right/src/usb_api.h | 2 ++ .../usb_descriptor_media_keyboard_report.c | 30 ++++--------------- 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/right/src/usb_api.h b/right/src/usb_api.h index 29d4542..c01f1b7 100644 --- a/right/src/usb_api.h +++ b/right/src/usb_api.h @@ -43,6 +43,8 @@ #define HID_RI_USAGE_PAGE_BUTTONS 0x09 #define HID_RI_USAGE_PAGE_CONSUMER 0x0C + #define HID_RI_USAGE_ID_CONSUMER_PAGE_CONSUMER_CONTROL 0x01 + #define HID_RI_USAGE_GENERIC_DESKTOP_POINTER 0x01 #define HID_RI_USAGE_GENERIC_DESKTOP_MOUSE 0x02 #define HID_RI_USAGE_GENERIC_DESKTOP_JOYSTICK 0x04 diff --git a/right/src/usb_descriptors/usb_descriptor_media_keyboard_report.c b/right/src/usb_descriptors/usb_descriptor_media_keyboard_report.c index b802c89..8e37d67 100644 --- a/right/src/usb_descriptors/usb_descriptor_media_keyboard_report.c +++ b/right/src/usb_descriptors/usb_descriptor_media_keyboard_report.c @@ -1,37 +1,17 @@ #include "usb_api.h" #include "usb_descriptor_media_keyboard_report.h" -uint8_t UsbMediaKeyboardReportDescriptor[USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = { - // Consumer Control (Sound/Media keys) - 0x05, 0x0C, // usage page (consumer device) - 0x09, 0x01, // usage -- consumer control - 0xA1, 0x01, // collection (application) - // 4 Media Keys - 0x15, 0x00, // logical minimum - 0x26, 0xFF, 0x03, // logical maximum (3ff) - 0x19, 0x00, // usage minimum (0) - 0x2A, 0xFF, 0x03, // usage maximum (3ff) - 0x95, 0x04, // report count (4) - 0x75, 0x10, // report size (16) - 0x81, 0x00, // input - 0xC0 // end collection -}; - -/* uint8_t UsbMediaKeyboardReportDescriptor[USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = { HID_RI_USAGE_PAGE(8, HID_RI_USAGE_PAGE_CONSUMER), - HID_RI_USAGE(8, 0x01), + HID_RI_USAGE(8, HID_RI_USAGE_ID_CONSUMER_PAGE_CONSUMER_CONTROL), HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION), - // Scancodes + // Media Keys HID_RI_LOGICAL_MINIMUM(8, 0x00), - HID_RI_LOGICAL_MAXIMUM(8, 0xFF), - HID_RI_USAGE_PAGE(8, HID_RI_USAGE_PAGE_KEY_CODES), + HID_RI_LOGICAL_MAXIMUM(16, 0x03FF), HID_RI_USAGE_MINIMUM(8, 0x00), - HID_RI_USAGE_MAXIMUM(8, 0xFF), + HID_RI_USAGE_MAXIMUM(16, 0x03FF), HID_RI_REPORT_COUNT(8, USB_MEDIA_KEYBOARD_MAX_KEYS), - HID_RI_REPORT_SIZE(8, 0x08), + HID_RI_REPORT_SIZE(8, 0x10), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), - HID_RI_END_COLLECTION(0), }; -*/