Fix Caps Lock LEDs once and for all (#4824) * Check the size of the SET_REPORT packet If we have two bytes, that probably means the first is a report ID. The 6KRO interface may or may not have one, but the NKRO interface always does, so we need to check this regardless of whether KEYBOARD_SHARED_EP is defined. * Fix indentation
1 files changed, 12 insertions(+), 9 deletions(-) M tmk_core/protocol/lufa/lufa.c
M tmk_core/protocol/lufa/lufa.c => tmk_core/protocol/lufa/lufa.c +12 -9
@@ 517,17 517,20 @@ void EVENT_USB_Device_ControlRequest(void) if (USB_DeviceState == DEVICE_STATE_Unattached) return; } #ifdef KEYBOARD_SHARED_EP uint8_t report_id = REPORT_ID_KEYBOARD; if (keyboard_protocol) { report_id = Endpoint_Read_8(); } if (report_id == REPORT_ID_KEYBOARD || report_id == REPORT_ID_NKRO) { if (Endpoint_BytesInEndpoint() == 2) { uint8_t report_id = REPORT_ID_KEYBOARD; if (keyboard_protocol) { report_id = Endpoint_Read_8(); } if (report_id == REPORT_ID_KEYBOARD || report_id == REPORT_ID_NKRO) { keyboard_led_stats = Endpoint_Read_8(); } } else { keyboard_led_stats = Endpoint_Read_8(); } #else keyboard_led_stats = Endpoint_Read_8(); #endif Endpoint_ClearOUT(); Endpoint_ClearStatusStage();