Em Tue, 31 Oct 2017 17:27:58 +0000 Sean Young <sean@xxxxxxxx> escreveu: > On Tue, Oct 24, 2017 at 05:40:05PM -0700, Dmitry Torokhov wrote: > > In preparation for unconditionally passing the struct timer_list pointer to > > all timer callbacks, switch to using the new timer_setup() and from_timer() > > to pass the timer pointer explicitly. > > > > Also stop poking into input core internals and override its autorepeat > > timer function. I am not sure why we have such convoluted autorepeat > > handling in this driver instead of letting input core handle autorepeat, > > but this preserves current behavior of allowing controlling autorepeat > > delay and forcing autorepeat period to be whatever the hardware has. IR devices basically have only something equivalent to key press events. They don't have key release ones. Depending on the device and on the IR protocol, they may have extra events when a key is kept pressed. I've seen two types of IR devices: the ones that emit an special "repeat" event (usually on every 100ms-200ms if a key is kept pressing) and the ones that just repeat the key's scan code if the key is kept pressed. The way IR drivers current work is that they send a key press event when a key is pressed, and if no repeat event happens on an expected time, it sends a release event. Thanks, Mauro