[coreboot] libpayload/tinycurses keyboard driver fault
Jordan Crouse
jordan.crouse at amd.com
Wed Sep 17 18:22:05 CEST 2008
On 17/09/08 17:00 +0200, Stefan Reinauer wrote:
> See patch
>
> --
> coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
> Tel.: +49 761 7668825 • Fax: +49 761 7664613
> Email: info at 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 at coresystems.de>
Acked-by: Jordan Crouse <jordan.crouse at amd.com>
> 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: coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot
--
Jordan Crouse
Systems Software Development Engineer
Advanced Micro Devices, Inc.
More information about the coreboot
mailing list