diff --git a/right/usb_descriptor_generic_hid_report.c b/right/usb_descriptor_generic_hid_report.c index dfb1b1a..ed7d773 100644 --- a/right/usb_descriptor_generic_hid_report.c +++ b/right/usb_descriptor_generic_hid_report.c @@ -8,6 +8,7 @@ uint8_t UsbGenericHidReportDescriptor[USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH] HID_RI_USAGE(8, USB_GENERIC_HID_REPORT_DESCRIPTOR_VENDOR_USAGE_COLLECTION), HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION), + // Input flowing from device to host HID_RI_USAGE(8, USB_GENERIC_HID_REPORT_DESCRIPTOR_VENDOR_USAGE_DATA_IN), HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(8, 0xFF), @@ -15,6 +16,7 @@ uint8_t UsbGenericHidReportDescriptor[USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH] HID_RI_REPORT_COUNT(8, USB_GENERIC_HID_INTERRUPT_IN_PACKET_SIZE), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), + // Output flowing from host to device HID_RI_USAGE(8, USB_GENERIC_HID_REPORT_DESCRIPTOR_VENDOR_USAGE_DATA_OUT), HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(8, 0xFF), diff --git a/right/usb_descriptor_keyboard_report.c b/right/usb_descriptor_keyboard_report.c index 250d047..eb1cc4a 100644 --- a/right/usb_descriptor_keyboard_report.c +++ b/right/usb_descriptor_keyboard_report.c @@ -7,6 +7,7 @@ uint8_t UsbKeyboardReportDescriptor[USB_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = { HID_RI_USAGE(8, HID_RI_USAGE_KEYBOARD), HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION), + // Modifiers HID_RI_USAGE_PAGE(8, HID_RI_USAGE_PAGE_KEY_CODES), HID_RI_USAGE_MINIMUM(8, 0xE0), HID_RI_USAGE_MAXIMUM(8, 0xE7), @@ -16,10 +17,12 @@ uint8_t UsbKeyboardReportDescriptor[USB_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = { HID_RI_REPORT_COUNT(8, 0x08), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), + // Reserved for future use, always 0 HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_INPUT(8, HID_IOF_CONSTANT), + // LED status HID_RI_USAGE_PAGE(8, HID_RI_USAGE_PAGE_LEDS), HID_RI_USAGE_MINIMUM(8, 0x01), HID_RI_USAGE_MAXIMUM(8, 0x05), @@ -27,10 +30,12 @@ uint8_t UsbKeyboardReportDescriptor[USB_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = { HID_RI_REPORT_SIZE(8, 0x01), HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + // LED status padding HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x03), HID_RI_OUTPUT(8, HID_IOF_CONSTANT), + // Scancodes HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(8, 0xFF), HID_RI_USAGE_PAGE(8, HID_RI_USAGE_PAGE_KEY_CODES), diff --git a/right/usb_descriptor_mouse_report.h b/right/usb_descriptor_mouse_report.h index 657c494..9a34461 100644 --- a/right/usb_descriptor_mouse_report.h +++ b/right/usb_descriptor_mouse_report.h @@ -14,6 +14,7 @@ #define USB_MOUSE_REPORT_DESCRIPTOR_BUTTONS_PADDING ((USB_MOUSE_REPORT_DESCRIPTOR_BUTTONS % 8) \ ? (8 - (USB_MOUSE_REPORT_DESCRIPTOR_BUTTONS % 8)) \ : 0) + // Variables: extern uint8_t UsbMouseReportDescriptor[USB_MOUSE_REPORT_DESCRIPTOR_LENGTH];