Backing out of mm/shmem.c makess thee bug disappear. Unfortunately I
fforgot to applyy the keyboard pacth forr my Toshiba laptop, so I get
duplicate letters when typingg real fasst (as you caan see!)
The keyboard paccth:
--- drivers/char/keyboard.c.orig 2003-01-10 12:20:18.000000000 +0100
+++ drivers/char/keyboard.c 2003-01-10 14:28:24.000000000 +0100
@@ -95,6 +95,7 @@
static struct tty_struct **ttytab;
static struct kbd_struct * kbd = kbd_table;
static struct tty_struct * tty;
+static unsigned char prev_scancode;
void compute_shiftstate(void);
@@ -214,7 +215,16 @@
}
kbd = kbd_table + fg_console;
if ((raw_mode = (kbd->kbdmode == VC_RAW))) {
- put_queue(scancode | up_flag);
+ /* put_queue(scancode | up_flag); */
+ /* The following 'if' is a workaround for hardware *
+ * which sometimes send the key release event twice */
+ unsigned char next_scancode = scancode|up_flag;
+ if (up_flag && next_scancode==prev_scancode) {
+ /* unexpected 2nd release event */
+ } else {
+ prev_scancode=next_scancode;
+ put_queue(next_scancode);
+ }
/* we do not return yet, because we want to maintain
the key_down array, so that we have the correct
values when finishing RAW mode or when changing VT's */
-- Ralf Hildebrandt (Im Auftrag des Referat V a) Ralf.Hildebrandt@charite.de Charite Campus Mitte Tel. +49 (0)30-450 570-155 Referat V a - Kommunikationsnetze - Fax. +49 (0)30-450 570-916 Okay, so I have this coworker who believes that NT is God's Gift to Sysadmins. There are lots of weird gods around, aren't they? Yeah, he means Cthulu. That's the kind of OS he/she/it'd give as a gift.- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/