summaryrefslogtreecommitdiffstats
path: root/app/atkbd.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/atkbd.c')
-rw-r--r--app/atkbd.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/app/atkbd.c b/app/atkbd.c
index 1ba599a..d450bc2 100644
--- a/app/atkbd.c
+++ b/app/atkbd.c
@@ -470,23 +470,16 @@ atkbd_set_mbr (void)
}
-void
-atkbd_start (void)
-{
-
- atkbd_reset ();
- atkbd_request_echo ();
- atkbd_set_mbr ();
- atkbd_set_scanset (2);
- atkbd_set_leds (saved_leds);
-
- ready++;
-}
void
atkbd_init (void)
{
atkbd_set (1, 1);
+}
+
+void atkbd_start(void)
+{
+ if (ready) return;
nvic_enable_irq (NVIC_EXTI0_IRQ);
@@ -498,6 +491,14 @@ atkbd_init (void)
exti_reset_request (KBCLK);
nvic_enable_irq (KBCLK_IRQ);
+ delay_ms(AT_KBD_INIT_TIME);
+ atkbd_reset ();
+ atkbd_request_echo ();
+ atkbd_set_mbr ();
+ atkbd_set_scanset (2);
+ atkbd_set_leds (saved_leds);
+
+ ready++;
}