[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.dehttp://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