I see you changed the delay from 200 ms to 100 ms. Well, I was just
about to propose to change the delay, too, but to 250ms rather than to
100 ms :-)
For arrow keys: they are sending two MAKEs and the corresponding two
BREAKs, but these are all different - this patch does not interfere.
This patch might break smth only if there is an imaginable
scancode-sequence in which two consecutive occurences have the same
scancode and are closer than 250ms. I cannot think of such a case,
but I can only think in terms of PC hardware, I don't know about
others...
So the patch might look like:
--- clean/drivers/char/keyboard.c Mon Nov 15 22:12:40 1999
+++ linux/drivers/char/keyboard.c Thu Dec 2 11:17:27 1999
@@ -204,6 +210,33 @@
char up_flag = down ? 0 : 0200;
char raw_mode;
+ /*
+ * Begin patch for Toshiba Satellite 2595XDVD. Under some
+ * circumstances, its keyboards behaves like ignoring the
+ * kbd repeat delay. This happens in conjunction with shift
+ * keys (ctrl, alt, shift) and leads to undesirable repeat
+ * of a key even if pressed briefly. Fix it by ignoring any
+ * subsequent occurence of the second identical scancode for
+ * 250 ms. IMO, this doesn't break anything on a good keyboard.
+ *
+ * Andrei Pitis <pink@roedu.net>, Nov 1999
+ */
+ static int prev_scancode = 0;
+ static int stop_jiffies = 0;
+
+ /* new scancode, trigger delay */
+ if (scancode != prev_scancode)
+ stop_jiffies = jiffies;
+
+ /* same scancode, accept only after the delay */
+ else if (jiffies - stop_jiffies >= 25)
+ stop_jiffies = 0;
+
+ /* glitch! bail out... */
+ else
+ return;
+
+ prev_scancode = scancode;
+ /* End Toshiba patch. */
+
acpi_access(acpi_kbd);
do_poke_blanked_console = 1;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/