summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tmk_core/protocol/lufa/lufa.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index 27cf51b161..cdabaf16e6 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -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();