Möchte erstmal Hallo sagen, da ich hier neu bin
Viele Probleme hab ich bereits selbstständig lösen können und habe so nun einen VDR am laufen, der mir sehr gut gefällt. Nun plagt mich ein kleines Problemchen, dass zudem unregelmässig auftritt.
Ich besitze eine Nexus-S und die dazugehörige Fernbedienung (das neue Modell mit farbigen Tasten... http://www.c-kuehn.info/files/nexuscontrol.jpg ). Also habe ich das remote-Plugin einkompiliert und eine passende Keymap für "av7110_loadkeys" (Applikation, welche dem DVB-Treiber beiliegt) erstellt. ./evtest liefert folgendes:
ZitatEvent: time 1065647621.937295, type 1 (Key), code 399 (Green), value 1
Event: time 1065647622.185628, type 1 (Key), code 399 (Green), value 0
Event: time 1065647624.168697, type 1 (Key), code 401 (Blue), value 1
Event: time 1065647624.415629, type 1 (Key), code 401 (Blue), value 0
Schon hier ist ersichtlich, dass jeder Tastendruck zwei Events liefert. Der Counter läuft dabei immer von 0 auf 1. Im VDR an sich liefert dieses Verhalten dann eine doppelte Eingabe. Möchte ich bsp. auf Kanal 1 wechseln und drücke "1", so lande ich auf 11. Nun tritt dieses Problem aber teilweise auch mal nicht auf. Dann läuft alles perfekt. Manchmal läuft auch alles perfekt, aber der PC-Speaker tönt bei jedem Tastendruck.
Weiterhin habe ich hier im Forum bzw. der FAQ dann ein ähnliches Problem in Bezug auf LIRC gefunden. Hier konnte man die lirc.c patchen, so dass das Problem behoben war. Mein erster Ansatz war nun also, mir die remote.c des remote-Plugins anzuschaun. Hier sind mir folgende Variablen vordergründig aufgefallen:
Zitatpolldelay = 40; // ms
repeatdelay = 350; // ms
repeatfreq = 100; // ms
repeattimeout = 500; // ms
Leider ist mir die Bedeutung nicht so ganz klar da auch der Quellkode an sich sehr schlecht kommentiert ist. Aber ich denke doch mal, dass eine Optimierung dieser Werte mein Problem vielleicht lösen könnte. Oder gibt es vielleicht einen anderen Ansatz (Einführung eines Mechanismus, der das Prellen der Knöpfe erkennt und solange wartet, bis dieses Prellen aufgehört hat, bevor das Programm dann weiterläuft) ? Wäre für jegliche Hilfe sehr dankbar...
Gruß Christoph