See patch

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [EMAIL PROTECTED]  • 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 <[EMAIL PROTECTED]>

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);
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to