On Tue, Feb 18, 2003 at 10:19:40PM +0100, Pavel Machek wrote:
> You said that you'll submit toshiba keyboard fix for 2.4 to
> marcelo... Here goes 2.5 version, will you submit it to Linus? ;-).
This belongs into drivers/input/keyboard/atkbd.c, not here!
Subsequent keypresses are already ignored - autorepeat is done in
software, however if you get a very quick press-release-press of the
same key that means the keyboard controller didn't do proper debouncing
and you probably can ignore the later release and press. But you must
ignore the release as well. Further - comparing to 10 jiffies isn't a
good idea - jiffies speed is different on different archs.
> --- clean/drivers/char/keyboard.c 2003-02-15 18:51:18.000000000 +0100
> +++ linux/drivers/char/keyboard.c 2003-02-15 19:19:45.000000000 +0100
> @@ -1020,6 +1041,23 @@
> struct tty_struct *tty;
> int shift_final;
>
> + /*
> + * Fix for Toshiba Satellites. Toshiba's like to repeat
> + * "key down" event for A in combinations like shift-A.
> + * Thanx to Andrei Pitis <pink@roedu.net>.
> + */
> + static int prev_scancode = 0;
> + static int stop_jiffies = 0;
> +
> + /* new scancode, trigger delay */
> + if (keycode != prev_scancode) stop_jiffies = jiffies;
> + else if (jiffies - stop_jiffies >= 10) stop_jiffies = 0;
> + else {
> + printk( "Keyboard glitch detected, ignoring keypress\n" );
> + return;
> + }
> + prev_scancode = keycode;
> +
> if (down != 2)
> add_keyboard_randomness((keycode << 1) ^ down);
-- Vojtech Pavlik SuSE Labs - 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/
This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:37 EST