qmk_firmware/tmk_core/protocol
Stefan Kerkmann 32174abcfa
Update keyboard report descriptor for USB compliance (#21626)
Running the "HID Tests" suite of the USB 3 Command Verifier (USB3CV)
tool resulted in the following error:

(HID: 3.2.61) The report descriptor returned in response to a
GetDescriptor(Report) must be compliant with the HID specification.

Byte Number:   37h (  55d)
Data Field: 91 02
Mnemonic:  Output
Value: (Variable)
Errors: Error:   LOGICAL MAX MUST be bounded by Report Size

The error stems from the fact that logical minimum and maximum are
global items, which means that the next item in a report descriptor
inherits the value from the previously set value. In this case the
status leds item inherited the logical minimum (=0) and maximum (=255)
from the keycodes item. As the status leds set a report size of 1 bit,
wich can only hold a boolean, it becomes clear that this range would
never fit.

The fix is straightforward, we just define a appropriate logical maximum
(=1), the mismatch is solved and our keyboard now passes the compliance
tests. Defining the logical minimum is redundant in this case but is
kept to form a logical block.
2023-07-28 01:05:01 +01:00
..
arm_atsam quantum: remove direct `quantum.h` includes (#21507) 2023-07-16 23:42:56 +10:00
chibios [Bug] Fix non-functional S3 wakeup / resume from suspense (#19780) 2023-06-26 23:55:52 +02:00
lufa tmk_core: remove direct `quantum.h` includes (#21465) 2023-07-07 21:24:07 +10:00
usb_hid Move protocol makefiles into their respective folders (#21332) 2023-06-22 15:07:28 +01:00
vusb Update keyboard report descriptor for USB compliance (#21626) 2023-07-28 01:05:01 +01:00
host.c Joystick feature improvements (#19052) 2022-11-27 03:14:45 +11:00
host.h Remove `IS_HOST_LED_ON` and migrate usages (#19753) 2023-02-06 02:36:09 +00:00
host_driver.h Refactor `send_extra` (#18615) 2022-10-06 19:35:01 -07:00
report.c [Core] Move `has_mouse_report_changed` function to `report.c` (#16543) 2022-03-14 00:01:47 +00:00
report.h Move `KC_MISSION_CONTROL`/`KC_LAUNCHPAD` keycodes to core (#19884) 2023-02-19 18:59:50 +11:00
usb_descriptor.c Update keyboard report descriptor for USB compliance (#21626) 2023-07-28 01:05:01 +01:00
usb_descriptor.h Detect host OS based on USB fingerprint (#18463) 2022-12-09 03:45:30 +11:00
usb_descriptor_common.h Joystick feature improvements (#19052) 2022-11-27 03:14:45 +11:00
usb_device_state.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
usb_device_state.h Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
usb_util.c tmk_core: remove direct `quantum.h` includes (#21465) 2023-07-07 21:24:07 +10:00
usb_util.h tmk_core: remove direct `quantum.h` includes (#21465) 2023-07-07 21:24:07 +10:00