Skip to contentSkip to conversation

Soft-autorepeat functionality

PATCH Peter Stokes 1 participant 1 message Feb 12, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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

drivers/input/input.c +1 -0
@@ -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;