Infrarot-Fernbedienung Knopfbelegung

  • Hallo zusammen,

    ich bastel schon den ganzen Tag an der Infrarotfernbedienung mit Lirc rum, aber zwei Knöpfe funktionieren nicht so richtig ... (Kodi 17.1 auf Raspberry 2B)

    Einträge in der /etc/lirc/lircd.conf:

    (entsprechen also den Tastatur-Tasten i und L).

    Dann in der Lircmap.xml:

    Code
    <lircmap>
        <remote device="technisat-sat2">
    ...
            <y>KEY_I</y>        <!-- I -->
            <z>KEY_L</z>        <!-- L -->
        </remote>
    </lircmap>


    (Sollte also bedeuten, 0x0297 auf der Fernbedienung bedeutet "Y" in Kodi und 0x028F bedeutet "Z").

    mit "irw" wird auch korrekt "KEY_I" für die I-Taste und "KEY_L" für die L-Taste angezeigt, also stimmen die Wete in der lircd.conf.

    In der remote.xml steht dann folgendes:


    Da steht also eindeutig, Kodi-Taste "y" = Select (Menüpunkt aufmachen) und Kodi-Taste "z" = Info = Infos anzeigen.

    Kodi sagt aber für Taste "Y":

    Code
    23:23:47.029 T:1946362528   DEBUG: OnKey: i (0xf049) pressed, action is info
    23:23:47.029 T:1946362528   DEBUG: LIRC: Update - NEW at 112182:0000000000000297 00 KEY_I "technisat-sat2" (KEY_I)
    23:23:47.337 T:1946362528   DEBUG: Keyboard: scancode: 0x17, sym: 0x0069, unicode: 0x0069, modifier: 0x0

    und für Taste "Z":

    Code
    23:23:45.822 T:1946362528   DEBUG: Keyboard: scancode: 0x26, sym: 0x006c, unicode: 0x006c, modifier: 0x0
    23:23:45.823 T:1946362528   DEBUG: OnKey: l (0xf04c) pressed, action is
    23:23:45.858 T:1946362528   DEBUG: LIRC: Update - NEW at 111010:000000000000028f 00 KEY_L "technisat-sat2" (KEY_L)


    Frage 1: Warum erkennt der das als "i" und "l"? Sind die Bezeichnungen in Klammern in der Lircmap.xml nicht die Knöpfe, die Kodi sieht?
    Frage 2: Selbst wenn ich die remote.xml ändere in "<i>Select</i> <l>Info</l>" kommt bei "L" zwar korrekt

    Code
    23:28:50.446 T:1946071712   DEBUG: OnKey: l (0xf04c) pressed, action is Info


    , aber bei "i" kommt immer noch

    Code
    23:28:50.447 T:1946071712   DEBUG: OnKey: i (0xf049) pressed, action is info


    .

    Wo kommt dieses kleingeschriebene "info" her? Warum machen diese beiden Knöpfe als einzige Probleme?

    Leseratte10

  • Irgendwie meine ich mich zu erinnern, dass lirc in kodi (in Verbindung manchen IR-Empfängern) nicht immer anständig mit Tastaturtasten klarkommt, weswegen für diesen fall oft der FLIRC-Empfänger (als Übersetzer) empfohlen wird.

    Mein Vorschlag: lösch mal die lircmap.xml (mach ein Backup oder benenne sie in *.bkp um) und ggf benutzte custom [definition=10,0][definition='3','0']keymap[/definition][/definition].xml, so dass du nur deine reine lircd.conf Ausgangssituation hast. Neustart.

    Dann installiere mal aus dem offiziellen kodi repository das Keymap Editor Addon und versuche damit deine Problemtasten mal testweise zu mappen. Vielleicht kommst du mit der dadurch erstellten "gen.xml" Datei dem Problem auf die schliche.

    Diese "gen.xml" vom [definition=10,0][definition='3','0']keymap[/definition][/definition] editor addon ist nichts anderes als eine "[definition=10,0][definition='3','0']keymap[/definition][/definition].xml" und sie wird auch in entsprechendem Verzeichnis /userdata/keymaps erstellt. Kannst danach damit rumspielen.

    Ansonsten sieht deine manuelle Vorgehensweise korrekt aus. Ich würde aber das ganze mit dem [definition=10,0][definition='3','0']keymap[/definition][/definition] editor addon machen, weil man da weniger Fehler macht und diese nach dem Speichern direkt ohne Neustart funktioniert (praktisch, wenn man viel rumprobiert). Danach kannst du die gen.xml eh noch manuell bearbeiten und das [definition=10,0][definition='3','0']keymap[/definition][/definition] editor addon auch deinstallieren und die gen.xml einfach für später/immer sichern.

  • Funktioniert FLIRC auch mit dem Raspberry mit einem direkt am GPIO angeschlossenen Empfänger? Ne kurze Suche hat immer nur Tutorials mit dem Flirc-eigenen USB-Empfänger gefunden.

    Den Keymap Editor habe ich probiert, gleiches Problem.

    Ich habe aber in der /usr/share/kodi/system/keymaps/keyboard.xml (also der Systemweiten Standard-remote.xml) folgendes gefunden:

    Code
    <Home>
        <keyboard>
          <i>info</i>
          <end mod="ctrl">ShutDown()</end>
          <backspace mod="longpress">ActivateWindow(ShutdownMenu)</backspace>
        </keyboard>
      </Home>


    *Da* ist das "info" auch kleingeschrieben, und wenn ich die Zeile entferne, dann klappt auch alles.
    Aber warum?

    EDIT: Habe jetzt den ganzen "Home"-Block aus der globalen remote.xml (und noch einige andere Blöcke wo "Info" auch vorkommt) in meine remote.xml übernommen und geändert, dann läuft das.

    Heißt das, eine Menüspezifische Einstellung in der globalen Datei hat Vorrang vor einer globalen Einstellung in der benutzerdefinierten Datei? Das ist aber nicht intuitiv ...

  • Funktioniert FLIRC auch mit dem Raspberry mit einem direkt am GPIO angeschlossenen Empfänger? Ne kurze Suche hat immer nur Tutorials mit dem Flirc-eigenen USB-Empfänger gefunden.

    Nein, du hast grade das "Flirc" falsch verstanden. "Flirc" ist eben dieser USB-Empfänger. Der nimmt IR-Signale von Fernbedienungen entgegen und gaukelt per USB dem Gerät vor, dass eine USB-Tastatur angeschlossen ist. Konfigurieren muss man Flirc glaub ich am PC: Man gibt an welche Fernbedienungstaste in welche Tastaturtaste/Buchstaben übersetzt wird. Flirc hat also nichts mit GPIO zu tun.


    [...]

    EDIT: Habe jetzt den ganzen "Home"-Block aus der globalen remote.xml (und noch einige andere Blöcke wo "Info" auch vorkommt) in meine remote.xml übernommen und geändert, dann läuft das.

    Heißt das, eine Menüspezifische Einstellung in der globalen Datei hat Vorrang vor einer globalen Einstellung in der benutzerdefinierten Datei? Das ist aber nicht intuitiv ...

    Hmm, na eben nicht, sonst würde es ja nicht auf einmal funktionieren, nachdem du es in deine eigene remote.xml übernommen hast. Der Override funktioniert.

    Das Problem ist wahrscheinlich, dass die lircmap.xml manche dieser [definition=10,0][definition='3','0']keymap[/definition][/definition].xml Befehle nicht unterstützt und dann der Vorrang gegenüber der globalen da nicht klappt. Ich glaube genau das war es, was mich auch mal so aufgeregt hatte in verbindung mit lircmap.xml. Dachte der Keymap Editor könnte das umgehen. Lirc in Kodi ist wirklich eine sehr problematische bzw. schlechte Umsetzung... langsam zudem auch noch.

  • Gut, dann bleibe ich lieber bei LIRC, ich will mir jetzt nicht auch noch so einen USB-Empfänger kaufen.

    Naja, die Einstellung war vorher in meiner eigenen Datei im globalen Bereich, aber in der System-Datei im Menüspezifischen. Ich hätte gedacht, die eigene Datei hätte Vorrang.
    Jetzt habe ich die Einstellung auch noch in der eigenen Datei im Menüspezifischen Bereich angelegt, jetzt klappts.

    Ich würde mir dafür noch ein Feature für Kodi wünschen, auch wenn das hier wahrscheinlich an der falschen Stelle ist: Wenn Kodi in der Debug-Zeile

    Code
    DEBUG: OnKey: l (0xf04c) pressed, action is Info

    direkt ausgegeben hätte, dass dieses eine Mapping aus Datei X, Bereich Y kommt, hätte ich den Fehler wahrscheinlich viel schneller gefunden ...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!