Re: [PATCH] Make ati_remote button repeat sensitivity soft-configurable

From: Karl Pickett
Date: Wed Apr 04 2007 - 09:37:36 EST


Here is some more output...

[300950.438977] drivers/usb/input/ati_remote.c: Registered USB driver
ATI/X10 RF USB Remote Control v. 2.2.1
[300950.445902] drivers/usb/input/ati_remote.c: Weird data, len=1 ff
54 1f 60 13 20 ... (I only get that once, at startup)

Bus 001 Device 002: ID 0bc7:0004 X10 Wireless Technology, Inc. X10 Receiver
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0bc7 X10 Wireless Technology, Inc.
idProduct 0x0004 X10 Receiver
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1

This is me holding down a button with debug on:
Apr 4 09:27:32 karl-desktop kernel: [346509.808778] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346509.856726] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346509.896685] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346509.944634] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346509.984587] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.032540] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.072499] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.120453] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.160414] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.208361] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.248318] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.296264] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.336222] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.384175] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:32 karl-desktop kernel: [346510.424135] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106
Apr 4 09:27:33 karl-desktop kernel: [346510.472085] ati_remote
1-1:1.0: channel 0x06; data 54,1f; index 41; keycode 106

That's .23 seconds between the first and 6th event. A little quick :)
I think the ideal fix would be a second timestamp that keeps track of
when the first event happened... not just the last event. That way
you can set a real "don't repeat until after .5 seconds" option.







On 4/4/07, Vincent Vanackere <vincent.vanackere@xxxxxxxxx> wrote:
On 4/4/07, Éric Piel <Eric.Piel@xxxxxxxxxxxxxxxx> wrote:

> This default value is set to 300 ms. On my Xserver, the default value is
> 660 ms and by default in my distrib it's set to 500 ms. So, indeed, the
> default value of the ati_remote is quite small. Maybe you could increase
> FILTER_MAX to 10 (= 600 ms) in order to have something saner?

Well, this value was chosen because it matches what the hardware does
: as explained in the comments, the hardware generates exactly 5
events for the first keypress (spaced by ~50ms if I recall correctly).

At least on my hardware (=> Vendor=0bc7 ProdID=0004 Rev= 1.00), the
current default value match exactly what I'm expecting (never had the
problem : "if you do anything but barely tap the button you can get
multiple events reported").
Just a thought : perhaps some models are more sensitive than others
(and so the default should be made dependent on the exact remote
model)... what is your hardware id ?

Best regards,

Vincent



--
Karl Pickett
The most wasted of all days is one without laughter.—E.E. Cummings
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/