Refactor the system keyboard report descriptor using LUFA macros.
This commit is contained in:
@@ -43,7 +43,8 @@
|
|||||||
#define HID_RI_USAGE_PAGE_BUTTONS 0x09
|
#define HID_RI_USAGE_PAGE_BUTTONS 0x09
|
||||||
#define HID_RI_USAGE_PAGE_CONSUMER 0x0C
|
#define HID_RI_USAGE_PAGE_CONSUMER 0x0C
|
||||||
|
|
||||||
#define HID_RI_USAGE_ID_CONSUMER_PAGE_CONSUMER_CONTROL 0x01
|
#define HID_RI_USAGE_ID_CONSUMER_PAGE_CONSUMER_CONTROL 0x01
|
||||||
|
#define HID_RI_USAGE_ID_GENERIC_DESKTOP_PAGE_SYSTEM_CONTROL 0x80
|
||||||
|
|
||||||
#define HID_RI_USAGE_GENERIC_DESKTOP_POINTER 0x01
|
#define HID_RI_USAGE_GENERIC_DESKTOP_POINTER 0x01
|
||||||
#define HID_RI_USAGE_GENERIC_DESKTOP_MOUSE 0x02
|
#define HID_RI_USAGE_GENERIC_DESKTOP_MOUSE 0x02
|
||||||
|
|||||||
@@ -2,37 +2,16 @@
|
|||||||
#include "usb_descriptor_system_keyboard_report.h"
|
#include "usb_descriptor_system_keyboard_report.h"
|
||||||
|
|
||||||
uint8_t UsbSystemKeyboardReportDescriptor[USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = {
|
uint8_t UsbSystemKeyboardReportDescriptor[USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = {
|
||||||
//TODO limit to system keys only?
|
HID_RI_USAGE_PAGE(8, HID_RI_USAGE_PAGE_GENERIC_DESKTOP),
|
||||||
// System Control (Power Down, Sleep, Wakeup, ...)
|
HID_RI_USAGE(8, HID_RI_USAGE_ID_GENERIC_DESKTOP_PAGE_SYSTEM_CONTROL),
|
||||||
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
|
|
||||||
0x09, 0x80, // USAGE (System Control)
|
|
||||||
0xa1, 0x01, // COLLECTION (Application)
|
|
||||||
// 1 system key
|
|
||||||
0x15, 0x00, // LOGICAL_MINIMUM (0)
|
|
||||||
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
|
|
||||||
0x19, 0x00, // USAGE_MINIMUM (Undefined)
|
|
||||||
0x29, 0xff, // USAGE_MAXIMUM (System Menu Down)
|
|
||||||
0x95, 0x01, // REPORT_COUNT (1)
|
|
||||||
0x75, 0x08, // REPORT_SIZE (8)
|
|
||||||
0x81, 0x00, // INPUT (Data,Ary,Abs)
|
|
||||||
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_COLLECTION(8, HID_RI_COLLECTION_APPLICATION),
|
HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION),
|
||||||
// Scancodes
|
// System key
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
|
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
|
||||||
HID_RI_USAGE_PAGE(8, HID_RI_USAGE_PAGE_KEY_CODES),
|
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x00),
|
HID_RI_USAGE_MINIMUM(8, 0x00),
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0xFF),
|
HID_RI_USAGE_MAXIMUM(8, 0xFF),
|
||||||
HID_RI_REPORT_COUNT(8, USB_MEDIA_KEYBOARD_MAX_KEYS),
|
HID_RI_REPORT_COUNT(8, USB_SYSTEM_KEYBOARD_MAX_KEYS),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
||||||
|
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
#define USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH 22
|
#define USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH 21
|
||||||
#define USB_SYSTEM_KEYBOARD_MAX_KEYS 1
|
#define USB_SYSTEM_KEYBOARD_MAX_KEYS 1
|
||||||
|
|
||||||
// Variables:
|
// Variables:
|
||||||
|
|||||||
Reference in New Issue
Block a user