[coreboot] [PATCH] libpayload keyboard driver fix.

Uwe Hermann uwe at hermann-uwe.de
Mon Sep 1 21:22:55 CEST 2008


On Mon, Sep 01, 2008 at 05:53:54PM +0200, Stefan Reinauer wrote:
> fix keyboard driver bugs.

Jordan is probably better-suited to review this, but can you elaborate
a bit more in the commit message? What bug, what's wrong, what effects does
the bug have, how is it fixed, etc?


> Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
> 
> Index: libpayload/drivers/keyboard.c
> ===================================================================
> --- libpayload/drivers/keyboard.c	(revision 3556)
> +++ libpayload/drivers/keyboard.c	(working copy)
> @@ -79,7 +79,7 @@
>  
>  int keyboard_getchar(void)
>  {
> -	static int modifier;
> +	static int modifier = 0;
>  	unsigned char ch;
>  	int shift;
>  	int ret = 0;
> @@ -91,17 +91,17 @@
>  	switch (ch) {
>  	case 0x36:
>  	case 0x2a:
> -		modifier &= ~MOD_SHIFT;
> +		modifier |= MOD_SHIFT;
>  		break;
>  	case 0x80 | 0x36:
>  	case 0x80 | 0x2a:
> -		modifier |= MOD_SHIFT;
> +		modifier &= ~MOD_SHIFT;
>  		break;
>  	case 0x1d:
> -		modifier &= ~MOD_CTRL;
> +		modifier |= MOD_CTRL;
>  		break;
>  	case 0x80 | 0x1d:
> -		modifier |= MOD_CTRL;
> +		modifier &= ~MOD_CTRL;
>  		break;
>  	case 0x3a:
>  		if (modifier & MOD_CAPSLOCK)


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org




More information about the coreboot mailing list