Soft-autorepeat functionality

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux