From 55e4997ea2bb7437c996e1da49faec9845a184f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Thu, 26 Oct 2017 18:22:37 +0200 Subject: [PATCH] Make the system keyboard descriptor play nicely with OSX. --- .../usb_descriptor_system_keyboard_report.c | 13 +++++++------ .../usb_descriptor_system_keyboard_report.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.c b/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.c index 488bf1e..fe6e005 100644 --- a/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.c +++ b/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.c @@ -6,12 +6,13 @@ uint8_t UsbSystemKeyboardReportDescriptor[USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_ HID_RI_USAGE(8, HID_RI_USAGE_GENERIC_DESKTOP_SYSTEM_CONTROL), HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION), // System key - HID_RI_LOGICAL_MINIMUM(8, 0x00), - HID_RI_LOGICAL_MAXIMUM(8, 0xFF), - HID_RI_USAGE_MINIMUM(8, 0x00), - HID_RI_USAGE_MAXIMUM(8, 0xFF), + HID_RI_REPORT_SIZE(8, 2), HID_RI_REPORT_COUNT(8, USB_SYSTEM_KEYBOARD_MAX_KEYS), - HID_RI_REPORT_SIZE(8, 0x08), - HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), + HID_RI_LOGICAL_MINIMUM(8, 1), + HID_RI_LOGICAL_MAXIMUM(8, 3), + HID_RI_USAGE(8, 0x82), + HID_RI_USAGE(8, 0x81), + HID_RI_USAGE(8, 0x83), + HID_RI_INPUT(8, HID_IOF_NO_PREFERRED_STATE | HID_IOF_NULLSTATE), HID_RI_END_COLLECTION(0), }; diff --git a/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.h b/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.h index 905faa3..e269f14 100644 --- a/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.h +++ b/right/src/usb_descriptors/usb_descriptor_system_keyboard_report.h @@ -3,7 +3,7 @@ // Macros: - #define USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH 21 + #define USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH 23 #define USB_SYSTEM_KEYBOARD_MAX_KEYS 1 // Variables: