f98dd4339f
Add Caps Lock, Num Lock, and Scroll Lock LED synchronization following Linux 7.1 hid-input.c: hidinput_output_event(). Led state tracking: - Caps Lock (usage 0x39) → toggles bit 1 - Scroll Lock (usage 0x47) → toggles bit 2 - Num Lock (usage 0x53) → toggles bit 0 SET_REPORT (Output) via XhciClientHandle::device_request(): - PortReqTy::Class, PortReqRecipient::Interface - bRequest = 0x09 (SET_REPORT) - wValue = (0x02 << 8) | 0x00 (Output report type, report ID 0) - wIndex = interface_num - Data = 1-byte LED state The SET_REPORT is sent only when the LED state changes (tracked with last_led_state sentinel). A failed SET_REPORT is logged at warn level but does not block the input loop. Cross-reference: Linux 7.1 - drivers/hid/hid-input.c: hidinput_output_event() - drivers/hid/usbhid/hid-core.c: usbhid_output_report() - HID 1.11 spec §7.2.1: SET_REPORT request This means USB keyboards with Caps/Num/Scroll Lock LEDs will now have their LEDs synchronized with the host lock state.