Kodi: Fernbedienung Tasten werden doppelt erkannt (gelöst)

  • Hallo,


    alle Tasten meiner TeVii Remote werden im Kodi doppelt erkannt. Im VDR funktioniert sie problemlos. Die hier beschriebenen Lösungsvorschläge mit ir-keytable bzw. advancedsettings.xml helfen leider nicht. Ich nutze den IR-Empfänger, der in der TeVii S482 integriert ist. Im syslog sieht man, dass der IR-Empfänger zweimal erkannt wird (evtl. weil es sich um eine Twin-Tuner Karte handelt?). Es gibt auch zwei Einträge in /sys/class/rc (rc0 und rc1). Gibt es eine Möglichkeit, dass rc1 einfach ignoriert wird? Wie kann ich erkennen, durch welche udev-Regel rc1 entstanden ist? (Vielleicht kann ich auf diese Weise rc1 deaktivieren.)



    Außerdem wundert mich, dass die keymap rc-tt-1500 verwendet wird:

    Code
    1. Mar 28 06:28:35 htpc kernel: [ 14.816032] Registered IR keymap rc-tt-1500


    Ich habe die /etc/rc_maps.cfg geändert:

    Code
    1. * * /lib/udev/rc_keymaps/tevii_s482
    2. #* rc-tt-1500 /lib/udev/rc_keymaps/rc-tt-1500



    Dennoch wird laut syslog die rc_tt_1500 verwendet. Die FB Tasten werden aber korrekt erkannt. Nur eben im Kodi doppelt. Wo ist mein Denkfehler? ?(


    Grüße
    Andy

    VDR1: yaVDR 0.6.1, Antec Fusion, Intel Celeron G530 @ 2,4GHz, 4GB, Nvidia GTX1050 TI 4GB, DVBSky T982 (2 x DVB-T2), Antec Fusion Remote, vdr-plugin-softhddevice-vpp-hevc
    VDR2:
    yaVDR 0.6.1, HP Pro 3120, Intel Core 2 Duo E7500 @ 3GHz, 4GB, Nvidia GT218 512MB, TeVii S482 (2 x DVB-S2), TeVii Remote, vdr-plugin-softhddevice-openglosd

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von afi () aus folgendem Grund: gelöst

  • Du hast laut Log zwei IR-Empfänger mit identischer Harware, die vermutlich beide Events senden. Die rc-Geräte werden vom Kernel angelegt, die Stelle an der du ansetzten könntest ist die /lib/udev/rules.d/40-ir-keytable.rules - die könntest du so erweitern (bzw. eine später aufgerufene Regel anlegen), dass für den rc1-Empfänger die geladene Keytable gelöscht wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo seahawk1986,


    Danke für den Tipp. Hat mir direkt weitergeholfen. Physisch vorhanden ist nur ein Empfänger. Es gibt auch nur einen Klinkenstecker-Eingang an der Karte dafür. Aber scheinbar wird der IR Empfänger im Treiber für beide Tuner seperat registriert. Ich weiß nicht ob das generel für Twin-Tuner-Karten so ist, oder daran liegt, dass ich die in Kernel 4.4 bereits integrierte DVB-Unterstützung für die S482 nutze...


    Wie auch immer ich habe jetzt die /lib/udev/rules.d/40-ir-keytables.rules geändert, sodass nur noch rc0 verwendet wird. Jetzt sehen auch irw und Kodi jeden Tastendruck nur einmal.

    Code
    1. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s rc0"


    Aber warum im VDR Frontend keine doppelten Tasten erkannt wurden und warum laut syslog immer noch die rc_tt_1500 registriert wird verstehe ich noch nicht.

    VDR1: yaVDR 0.6.1, Antec Fusion, Intel Celeron G530 @ 2,4GHz, 4GB, Nvidia GTX1050 TI 4GB, DVBSky T982 (2 x DVB-T2), Antec Fusion Remote, vdr-plugin-softhddevice-vpp-hevc
    VDR2:
    yaVDR 0.6.1, HP Pro 3120, Intel Core 2 Duo E7500 @ 3GHz, 4GB, Nvidia GT218 512MB, TeVii S482 (2 x DVB-S2), TeVii Remote, vdr-plugin-softhddevice-openglosd

  • Aber warum im VDR Frontend keine doppelten Tasten erkannt wurden

    Der VDR hat einen eingebauten Wiederholunsfilter für Tastendrücke.

    und warum laut syslog immer noch die rc_tt_1500 registriert wird

    Vermutlich weil das die Keytable ist, die der Kernel-Treiber für den Empfänger lädt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Vermutlich weil das die Keytable ist, die der Kernel-Treiber für den Empfänger lädt.

    Nur warum? Wie kommt er darauf? Ich habe ja die Zeile für den rc_tt_1500 aus der /etc/rc_maps.cfg auskommentiert. Selbst wenn ich die rc_maps.cfg auf nur eine Zeile reduziere und von der tt_1500 nichts mehr übrig bleibt, glaubt er noch diese keytable laden zu müssen. Übersehe ich da noch etwas?

    VDR1: yaVDR 0.6.1, Antec Fusion, Intel Celeron G530 @ 2,4GHz, 4GB, Nvidia GTX1050 TI 4GB, DVBSky T982 (2 x DVB-T2), Antec Fusion Remote, vdr-plugin-softhddevice-vpp-hevc
    VDR2:
    yaVDR 0.6.1, HP Pro 3120, Intel Core 2 Duo E7500 @ 3GHz, 4GB, Nvidia GT218 512MB, TeVii S482 (2 x DVB-S2), TeVii Remote, vdr-plugin-softhddevice-openglosd

  • Übersehe ich da noch etwas?

    Das steht im Quellcode des Kernels (müsste diese Stelle sein: https://github.com/torvalds/li…sb/dvb-usb/dw2102.c#L2213 ), welche Keymap einem Empfänger vom Kernel zugeordnet wird - in dem Fall also RC_MAP_TT_1500 - das ist an der Stelle definiert: https://github.com/torvalds/li…clude/media/rc-map.h#L304 - und daher sollte zunächst einmal diese Keytable geladen werden: https://github.com/torvalds/li…a/rc/keymaps/rc-tt-1500.c
    Die /etc/rc_maps.cfg greift erst, wenn durch die udev-Regel ir-keytable aufgerufen wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • OK, verstehe, d.h. der Log-Eintrag "Registered IR keymap rc-tt-1500" kommt durch die Initialisierung mit der als default hinterlegten Keytable und das Laden "meiner" Keytable aus der rc_maps.cfg wird nicht nochmal extra ins Log geschrieben (oder ich finde es nur nicht). Ist aber auch nicht nötig. Hatte mich halt nur verwirrt.
    Danke für die Hilfe mit dem Problem der doppelten Tastenerkennung im Kodi und die Nachhilfe in Sachen Keytable-Initialisierung im Kernel. Zumindest sehe ich jetzt um Einiges klarer und das Wichtigste: Kodi und VDR funktinieren jetzt korrekt (das Mapping kann ich ja ggf. noch etwas meinen Vorlieben anpassen).


    Bei dieser Gelegenheit auch mal ein dickes Danke an all die fleißigen Helfer hier im Portal sowie hinter den VDR und Kodi Projekten...Ihr leistet echt saugeile Arbeit!!! :tup

    VDR1: yaVDR 0.6.1, Antec Fusion, Intel Celeron G530 @ 2,4GHz, 4GB, Nvidia GTX1050 TI 4GB, DVBSky T982 (2 x DVB-T2), Antec Fusion Remote, vdr-plugin-softhddevice-vpp-hevc
    VDR2:
    yaVDR 0.6.1, HP Pro 3120, Intel Core 2 Duo E7500 @ 3GHz, 4GB, Nvidia GT218 512MB, TeVii S482 (2 x DVB-S2), TeVii Remote, vdr-plugin-softhddevice-openglosd

  • Hallo,

    ich muss diese Thema nochmal aufgreifen, denn ich habe ein ähnliches Problem, was sich aber mit Hilfe dieses Beitrages nicht lösen lässt.

    Ich habe eine Terratec Cinergy S2 Dual mit einem onBoard IR-Empfänger und dazugehöriger Terratec Fernbedienung. Eingesetzt habe ich LibreElec 8.2.2. Lircd ist in Kodi deaktiviert.

    Die Fernbedienung funktioniert soweit, allerdings immer mir dem Problem, das bei einem Tastendruck zwei gleiche Befehle ausgeführt werden. ir-keytable liefert zwei identische IR Empfänger, allerdings auf verschieden devices (rc0 und rc1) bzw. zwei unterschiedlichen events (Nummern ändern sich nach jedem Neustart). Ich konnte feststellen, das ir-keytable ohne Parameter -s oder -d die Keytable automatisch immer für beide devices lädt (ir-keytable -r zeigt das). Die rc_maps.cfg habe ich sowit erstellt, dass die passende keymap geladen wird. Allerdings eben immer für beide devices (rc0 und rc1), ausgabe mit ir-keytable -r geprüft. Der Fehler tritt dann auf: Nach einmaligem Tastendruck doppelte Ausgabe (in Kodi sowie irw). Lösche ich die keytable auf device rc1 (ir-keytable -c -s rc1), funktioniert alles einwandfrei.

    Ich würde gerne die /lib/udev/rules.d/40-ir-keytables.rules ändern, um rc1 zu deaktivieren, die Datei gibts es aber bei mir nicht. Ich kann sie auch nicht erstellen, das Verzeichnis ist schreibgeschützt (trotz Anmeldung als root). Welche Möglichkeit habe ich denn noch, die Keytable für rc1 zu löschen bzw. rc1 gar nicht zu aktivieren. Ideal wäre so etwas doch über die rc_maps.cfg zu machen, der erlaubt aber keine "devices" sondern nur "driver" und der ist bei mir eben gleich.


    Danke und beste Grüße