summaryrefslogtreecommitdiffstats
path: root/protocol/vusb/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocol/vusb/main.c')
-rw-r--r--protocol/vusb/main.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/protocol/vusb/main.c b/protocol/vusb/main.c
index 1bf9035b39..1ba40a27a2 100644
--- a/protocol/vusb/main.c
+++ b/protocol/vusb/main.c
@@ -62,6 +62,11 @@ int main(void)
debug("initForUsbConnectivity()\n");
initForUsbConnectivity();
+ int i;
+ while(--i){ /* To configured */
+ usbPoll();
+ _delay_ms(1);
+ }
debug("main loop\n");
while (1) {
@@ -90,10 +95,15 @@ int main(void)
}
}
#endif
- if (!suspended)
+ if (!suspended) {
usbPoll();
- keyboard_proc();
- if (!suspended)
+
+ // TODO: configuration process is incosistent. it sometime fails.
+ // To prevent failing to configure NOT scan keyboard during configuration
+ if (usbConfiguration && usbInterruptIsReady()) {
+ keyboard_proc();
+ }
vusb_transfer_keyboard();
+ }
}
}