Mailing List archive

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

[linux-dvb] Re: NEWSTRUCT and Remote Control



Hi,

I 'm currently writing lirc support for /dev/input/event
and there is still the problem that autorepeat does not work with the 
hauppauge remote control. Is there a chance to get this fixed?

Holger Waechtler wrote:
> Oliver Endriss wrote:
> < [...]
> > The old firmware generated both down _and_ up events, so it was
> > possible to implement something like a auto-repeat function if you
> > hold down the key for more than a second.
>
> The old firmware generated an up-event after each down-event. If you
> want this behaviour you can simply ignore the up-events and process
> only down's.

There was *no* problem with the old firmware, because the lirc driver 
generated autorepeat events, depending on the delay between key_down 
and key_up events.

> Hmm, the remote control I have generates an event every 1/5th second,
> so you still get keyrepeats.

Obviously, the hauppauge remote control doesn't behave this way :-(

> Maybe we have to enable the repeat
> option in the linux input driver for Hauppauge remote controls...

Hmm. The problem is that new firmware doesn't send any key_up events.
Therefore it is not possible to do autorepeat in the driver because you 
don't know whether the key is held down or not. With the hauppauge 
remote control you always get just a single key_down event.

> A proper keyrepeat-sequence looks like this:
> key-down-down-...-down-up. Only in this way the application can
> distinguish between a
> "double-clicked" key and a repeat because of a not-yet-released key.
>
> This convention is used by other keyboard and input drivers, too. We
> changed this behaviour to make it easy for applications to use the
> same input event loop for keyboards and remote controls.

I see two possible solutions:
(a) Autorepeat in firmware for the hauppauge remote control. 
(b) NEWSTRUCT firmware sends key_up events as the old firmware did.
    This way, autorepeat can be done by the (input or lirc) driver.

Is it possible to fix this?

Oliver


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index