--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info@coresystems.de •
http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866
The tinycurses keyboard driver has the same bug as the "normal" libpayload
keyboard driver had before. The better way would be to unify those two drivers.
But for now, the attached patch fixes the problem.
Signed-off-by: Stefan Reinauer
stepan@coresystems.de
Index: libpayload/curses/keyboard.c
===================================================================
--- libpayload/curses/keyboard.c (revision 665)
+++ libpayload/curses/keyboard.c (working copy)
@@ -140,11 +140,11 @@
/* Scancode macros */
-#define DOWN(_c) (0x80 | (_c))
-#define UP(_c) (_c)
+#define DOWN(_c) (_c)
+#define UP(_c) (0x80 | (_c))
-#define ISDOWN(_c) ((_c) & 0x80)
-#define ISUP(_c) (!ISDOWN((_c)))
+#define ISUP(_c) ((_c) & 0x80)
+#define ISDOWN(_c) (!ISUP((_c)))
#define SCANCODE(_c) ((_c) & ~0x80)
@@ -293,8 +293,8 @@
return 0;
}
- /* Only process keys on an upstroke. */
- if (!ISUP(code))
+ /* Only process keys on an down stroke. */
+ if (!ISDOWN(code))
return 0;
sc = SCANCODE(code);