summary refs log tree commit diff
path: root/protocol/lufa
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2014-04-27 05:07:27 +0900
committertmk <nobody@nowhere>2014-04-27 05:36:41 +0900
commit22854eb71b84a10ebad0f85841f2b99d38e1da8c (patch)
tree16ede150938a420cf05bcb7769b73df4794b0f9f /protocol/lufa
parent5e3f2d2b2e5065a04495f2c55fae0849966b5d23 (diff)
NKRO is disable when SET_PROTOCOL(boot)
- Command can force to enable NKRO even when boot mode
- After boot keyboard may be in boot mode due to BIOS' request
Diffstat (limited to 'protocol/lufa')
-rw-r--r--protocol/lufa/lufa.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/protocol/lufa/lufa.c b/protocol/lufa/lufa.c
index a43a552a81..db05702aa7 100644
--- a/protocol/lufa/lufa.c
+++ b/protocol/lufa/lufa.c
@@ -308,6 +308,9 @@ void EVENT_USB_Device_ControlRequest(void)
                     Endpoint_ClearStatusStage();
 
                     keyboard_protocol = ((USB_ControlRequest.wValue & 0xFF) != 0x00);
+#ifdef NKRO_ENABLE
+                    keyboard_nkro = !!keyboard_protocol;
+#endif
                     clear_keyboard();
                 }
             }
@@ -354,7 +357,7 @@ static void send_keyboard(report_keyboard_t *report)
 
     /* Select the Keyboard Report Endpoint */
 #ifdef NKRO_ENABLE
-    if (keyboard_nkro && keyboard_protocol) {
+    if (keyboard_nkro) {
         /* Report protocol - NKRO */
         Endpoint_SelectEndpoint(NKRO_IN_EPNUM);