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

fix keyboard driver bugs.

Signed-off-by: Stefan Reinauer <[EMAIL PROTECTED]>

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)

Attachment: signature.asc
Description: OpenPGP digital signature

--
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to