Using the remote plugin with a /dev/input/eventX setup for a hauppauge grey remote via a nova-t sensor with X11/Xv using softdevice works perfectly. With the same setup with directfb single button presses very often are detected as multiple button presses.
It seems somehow that there's no minimum time between button presses unless the X server is running. Anyone got a clue about what's missing when using directfb? (I've turned off all directfb input modules.)
On Sun, Sep 17, 2006 at 11:43:09AM +0100, Torgeir Veimo wrote:
Using the remote plugin with a /dev/input/eventX setup for a hauppauge grey remote via a nova-t sensor with X11/Xv using softdevice works perfectly. With the same setup with directfb single button presses very often are detected as multiple button presses.
I don't remember seeing a reply to this. What does "evtest" report when you press a button?
I had trouble with key repeat that I fixed by patching three places: the cx88-input.c driver in the kernel, DirectFB (linux-event-input or some such), and softdevice (video-dfb.c).
The latter two fixes were integrated, but my kernel patch was just a crude hack: http://www.iki.fi/~msmakela/software/vdr/#cx88-repeat
It seems somehow that there's no minimum time between button presses unless the X server is running. Anyone got a clue about what's missing when using directfb? (I've turned off all directfb input modules.)
An older version of the vdr-remote plugin was confused by type 0 events (IIRC), which were reported by the cx88 driver. However, that was fixed a few months ago after I reported it. I still don't use the plugin, because it seems to significantly lower the repeat rate. I prefer the built-in 114 ms repeat rate of the RC5 protocol.
Marko
On 21 Sep 2006, at 09:03, Marko Mäkelä wrote:
On Sun, Sep 17, 2006 at 11:43:09AM +0100, Torgeir Veimo wrote:
Using the remote plugin with a /dev/input/eventX setup for a hauppauge grey remote via a nova-t sensor with X11/Xv using softdevice works perfectly. With the same setup with directfb single button presses very often are detected as multiple button presses.
I don't remember seeing a reply to this. What does "evtest" report when you press a button?
It appears to be correct, it's just too fast, see below
It seems somehow that there's no minimum time between button presses unless the X server is running. Anyone got a clue about what's missing when using directfb? (I've turned off all directfb input modules.)
An older version of the vdr-remote plugin was confused by type 0 events (IIRC), which were reported by the cx88 driver. However, that was fixed a few months ago after I reported it. I still don't use the plugin, because it seems to significantly lower the repeat rate. I prefer the built-in 114 ms repeat rate of the RC5 protocol.
I think it's the build in 114ms repeat rate that I find too fast, often being interpreted as two button presses. I tried using evtest both with the console, which yields additional keyrepeats after just 100ms (i guess it's exactly 114ms), and under X11, where there's a delay of about 250ms before any additional keyrepeats. The repeat rate seems to be the same in both environments. However, it seems that after running X11, the delay is set to about 250ms also when running evtest in the console.
I found this article interesting: http://www.linuxjournal.com/ articles/lj/0107/6429/6429l12.html . It describes how one can set the repeat rate and delay using the EVIOCGREP ioctl. It would be interesting to get in a patch into the remote plugin to do this, but for now I'm just using the attached small program.
Tiny bug, should be:
rep[0] = 250; // delay rep[1] = 100; // repeat rate
On Tue, Sep 26, 2006 at 03:26:17PM +0100, Torgeir Veimo wrote:
An older version of the vdr-remote plugin was confused by type 0 events (IIRC), which were reported by the cx88 driver. However, that was fixed a few months ago after I reported it. I still don't use the plugin, because it seems to significantly lower the repeat rate. I prefer the built-in 114 ms repeat rate of the RC5 protocol.
I think it's the build in 114ms repeat rate that I find too fast, often being interpreted as two button presses.
The kernel driver for cx88-input does not use the RC5 repeat rate, but instead it uses a software-based repeat timer whose repeat rate is somewhat lower. The problem with that is that it is not accurate. You can get one or two extra repeat events after releasing the button on the remote control unit. When the software-based timer is bypassed with a kernel patch, it becomes possible to scroll down a menu to a desired position by releasing the button when the selection is approaching the desired line.
I found this article interesting: http://www.linuxjournal.com/ articles/lj/0107/6429/6429l12.html . It describes how one can set the repeat rate and delay using the EVIOCGREP ioctl. It would be interesting to get in a patch into the remote plugin to do this, but for now I'm just using the attached small program.
I thought that the remote plugin implements its own repeat timer (yes, that would make two software-based timers in cascade when using cx88-input.ko). At least when I tested it, the repeat rate was much lower than the fixed 114 ms reported by my patched 2.6.16 or 2.6.17 kernel.
Thanks for mentioning this ioctl. (The article seems to be available from http://www.linuxjournal.com/article/6429.) By setting the repeat rate and delay to multiples of the RC5 frame rate, it might be possible to get satisfactory accuracy from the vanilla kernel, unless some cumulative rounding errors will come into the play. I will check that after upgrading my vdr to a 2.6.18 kernel.
Marko
Torgeir Veimo wrote:
On 21 Sep 2006, at 09:03, Marko Mäkelä wrote:
On Sun, Sep 17, 2006 at 11:43:09AM +0100, Torgeir Veimo wrote:
Using the remote plugin with a /dev/input/eventX setup for a hauppauge grey remote via a nova-t sensor with X11/Xv using softdevice works perfectly. With the same setup with directfb single button presses very often are detected as multiple button presses.
I don't remember seeing a reply to this. What does "evtest" report when you press a button?
It appears to be correct, it's just too fast, see below
Please post the output of evtest for - a single (short) keypress - a long keypress
Oliver
Oliver Endriss wrote:
Torgeir Veimo wrote:
On 21 Sep 2006, at 09:03, Marko Mäkelä wrote:
On Sun, Sep 17, 2006 at 11:43:09AM +0100, Torgeir Veimo wrote:
Using the remote plugin with a /dev/input/eventX setup for a hauppauge grey remote via a nova-t sensor with X11/Xv using softdevice works perfectly. With the same setup with directfb single button presses very often are detected as multiple button presses.
I don't remember seeing a reply to this. What does "evtest" report when you press a button?
It appears to be correct, it's just too fast, see below
Please post the output of evtest for
- a single (short) keypress
- a long keypress
I have the same problem using a nexus-s ir sensor and the grey remote with lirc. Evtest seems to show the right output, but lirc detects double key presses. If I set the toggle_bit in lircd.conf to "2", then I do not get double key presses with lirc, but the key repeat is then disabled permanently. If I use "inputlirc" instead of regular "lirc", then the key presses work as expected. Unfortunately, vdr does not seem to work with inputlirc. It would be nice to get lirc to function properly when accessing /dev/input/eventX when using a hauppauge remote and ir sensor. When I build lirc, I configure it with "--with-driver=devinput".
BR.