spurious remote control events

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

 



Hello,

I'm using a cubox-i, which has a gpio remote receiver built in. The remote I'm using is a universal remote, using an RC-6 protocol. This is using kernel 3.14.14 (from geexbox)

What happens is that if you press key1, key1, key2 with spaces between the presses that are larger than IR_KEYPRESS_TIMEOUT but shorter than the repeat delay, then the driver often delivers four down/up pairs of events: key1, key1, key1, key2.

Similarly, key1, key2, key2 gives key1, key2, key2, key2
and key1, key2, key1 gives key1, key2, key2, key1
Strangely, key1, key1, key1 gives only the three expected events.

If I set the repeat delay to be equal to the IR_KEYPRESS_TIMEOUT (using ir-keytable --delay) then the problem goes away (or is hidden).

I've been looking though the relevant kernel code, and while I don't think I fully understand all the subtleties, one thing I noticed that seems odd is that in ir_raw_event_store_edge in ir-raw.c, the repeat delay is used to determine if an edge is part of a new event or not. It seems to me that this might be way too long. Shouldn't it be something more like IR_KEYPRESS_TIMEOUT ? Or even shorter - like just longer than the longest possible gap between edges in a code?

I tried changing the "delay" value in ir_raw_event_store_edge to match the IR_KEYPRESS_TIMEOUT, and it does seem to resolve the problem for me.

Carl



--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux