I've been experimenting with using the software autorepeat functionality in drivers/input/input.c and have the problem that it autorepeats all EV_KEY reported events, this includes mouse buttons etc. which for a combined mouse/keyboard device is undesirable. I appreciate that I could override the functionality by providing my own implementation of software autorepeat, which filters such buttons from being repeated, but I was wondering whether this is something that should be included in the default implementation? I'm not sure where the definition of KEY_MIN_INTERESTING comes from but it appears to me that it is only keys with codes less than this value that should be repeated? So, please find attached a patch that implements the functionality I am looking for... Best regards Peter Stokes
Signed-off-by: Peter Stokes <linux@xxxxxxxxxxxx> --- linux-2.6.24-orig/drivers/input/input.c 2008-01-24 22:58:37.000000000 +0000 +++ linux-2.6.24/drivers/input/input.c 2008-02-11 20:02:03.000000000 +0000 @@ -123,6 +123,7 @@ static void input_start_autorepeat(struct input_dev *dev, int code) { if (test_bit(EV_REP, dev->evbit) && + code < KEY_MIN_INTERESTING && dev->rep[REP_PERIOD] && dev->rep[REP_DELAY] && dev->timer.data) { dev->repeat_key = code;