Mit ir-keytable -t geht es dann ans testen. Der erste Befehl kann man nutzen, wenn man noch nicht weis welches Protokoll unterstützt wird. Den zweiten Befehl brauchen wir, wenn wir die Fernbedienung auf das iMon-Protokoll eingestellt haben. Dann kann man schauen was für Ausgaben erscheinen. Bei mir hat das gut mit der Originalfernbedienung geklappt, habt ihr eine Logitech Harmony könnt ihr gleich zum entsprechenden Artikel unter Punkt 4 springen.
In der Ausgabe erkennt man das Protokoll, in diesem Fall imon und auch das zum Scancode 289515b7 schon ein KEY-Event KEY_DOWN hintelegt ist. Dies lässt darauf schließen, dass die richtige oder eine passende Keymap hinterlegt ist. Sollte dort kein KEY-Event auftauschen kann mit nach dem Scancode suchen und schauen, ob in irgendeiner Vorlage der Scancode enthalten ist.
1. sudo ir-keytable -v -t -p rc-5,rc-5-sz,jvc,sony,nec,sanyo,mce_kbd,rc-6,sharp,xmp
2. sudo ir-keytable -v -t -p imon
1316.283417: Linux-Infrarotfernbedienungsprotokoll(imon): Scancode = 0x289515b7
1316.283435: Ereignistyp EV_MSC(0x04): Scancode = 0x289515b7
1316.283435: Ereignistyp EV_KEY(0x01) key_runter: KEY_DOWN(0x006c)
1316.283435: Ereignistyp EV_SYN(0x00).
^[[B1316.524608: Ereignistyp EV_KEY(0x01) key_hoch: KEY_DOWN(0x006c)
1316.524608: Ereignistyp EV_SYN(0x00).
grep -iH '0x4001' /lib/udev/rc_keymaps/*
Hoffentlich habt ihr eine passenden Keymap identifiziert, bei mir ist es die Keymap imon_pad.toml im iMon-Protokoll Modus bzw. imon_mce.toml im MCE-Protokoll Modus.
Diese kopiert ihr dann in das passende Verzeichnis und schreibt die Keymap auf das Gerät.
sudo cp /lib/udev/rc_keymaps/imon_pad.toml /etc/rc_keymaps/
sudo ir-keytable -c -w /etc/rc_keymaps/imon_pad.toml
Mit ir-keytable -r könnt ihr anschließend kontrollieren, ob die Keymap hinterlegt ist und mit ir-keytable -t nochmal schauen, ob nun KEY-Events den Tasten zugeordnet sind.
sudo ir-keytable -r
Scancode 0x2ba515b7 = KEY_RIGHT (0x6a)
Scancode 0x29a515b7 = KEY_LEFT (0x69)
Scancode 0x289515b7 = KEY_DOWN (0x6c)
Scancode 0x2aa515b7 = KEY_UP (0x67)
...
Scancode 0x29b195b7 = KEY_EJECTCD (0xa1)
Scancode 0x29b715b7 = KEY_DASHBOARD (0xcc)
Scancode 0x2a8115b7 = KEY_PLAY (0xcf)
Scancode 0x2a8195b7 = KEY_REWIND (0xa8)
Scancode 0x2a8315b7 = KEY_PLAY (0xcf)
Scancode 0x2a8515b7 = KEY_NUMERIC_8 (0x208)
Scancode 0x2a8595b7 = KEY_NUMERIC_4 (0x204)
Scancode 0x2a9115b7 = KEY_PAUSE (0x77)
...
Aktivierte Kernelprotokolle: imon
Damit die Keymap nicht nach jedem Start gelöscht wird muss man den Treiber mit der neuen Keymap verknüpfen und wird in der Datei rc_maps.cf gemacht.
sudo nano /etc/rc_maps.cf
driver table file
imon rc-imon-pad /etc/rc_keymaps/imon_pad
* rc-adstech-dvb-t-pci adstech_dvb_t_pci
* rc-alink-dtu-m alink_dtu_m
* rc-anysee anysee
Dann einmal neu starten und in den Konsole kontrollieren, ob die richtige Keymap imon_pad mit dem richtigen Protokoll imon hinterlegt ist. Es sollten nach dem Neustart die KEY-Events erkannt werden. Wenn das soweit funktioniert, könnt ihr in Kodi schauen, ob bereits Tasten gehen. Bei mir gingen das Steuerkreuz, die OK und Zurück Taste. In meinen Fall gab es keine Sprünge oder Verzögerungen, wenn ich eine Taste auf der Originalfernbedienung gedrückt habe. Die Media Tasten, wie Play, Pause, Stop funktionierten nicht.
3. Gnome bändigen
Ich starte Kodi als Programm unter einem vollwertigen Destop Environment in diesem Fall Gnome. Gnome hat eine eigentlich nützliche Funktion, die verhindert, dass die Media Tasten in Kodi funktionieren. Gnome erkennt alle Media Tasten und versucht diese an Programme wie Totem, VLC, Browser, Rythmbox weiterzuleiten, dies müssen wir unterbinden wenn wir die Tasten unter Kodi nutzen wollen.
Dazu kann man manuell im dconf-editor unter /org/gnome/settings-daemon/plugins/media-keys die Standard Einstellungen löschen bzw. durch [''] ersetzten. Die Standardfunktionen fangen alle mit X86... an. Eine genaue Anleitung findet ihr hier oder ihr könnt das ganze automatisch durch ein Startskript für Kodi von chrisjbillington machen. Ich habe mich für die Skript Version mit dem DElauncher4Kodi 1.2 entschieden. Das Skript macht zwei Sachen die Übernahme der Tasten durch Gnome stoppen und die Gnome Lautstärke auf 100% stellen, wird alles im Forum erklärt. Für die Installation benötigen wir Python PIP. Es wird dann ein Menüeintrag erstellt den man Nutzen kann. Ich habe meinen Kodi Autostart entsprechend abgewandelt und folgenen Befehl eingegeben "python3 -m DElauncher4Kodi kodi -fs". Nach einem Neustart haben dann auch die Media Tasten funktioniert. sudo apt install python3-pip
sudo pip3 install DElauncher4Kodi
4. Logitech Harmony
Mit einer Logitech Harmony Fernbedienung könnt ihr Kodi über Bluetooth steuern. Dies kann man mit der Android App konfigurieren. Wenn man will kann man vorher mal in der Gerätekompatibilitätsliste von Logitech schauen, welche Geräte unterstützt werden. Auch wenn ich keine technische Erklärung habe war es bei mir wichtig, dass der Logitech Hub und das Android Konfigurationsgerät im 2,4 Ghz WLAN Netz waren und nicht eines im 5 GHz WLAN.
Zuerst kümmern wir um das Profil für die Originalfernbedienung, dazu den Hersteller "SoundGraph" und den Typ "iMon Pad" wählen, dann erhält man das Profil „SoundGraph Multimedia-Player“. Dieses Profil wird nur genutzt um den Rechner anzuschalten, die restlichen Funktionen gehen nicht wirklich. Logitech empfiehlt im iMon Manager auf das MCE-Protokoll zu wechseln, leider konnte ich die Logitech Harmony, so aber nicht zum Laufen bringen.
Als zweites Profil nutzen wir ein spezielles Kodi-Profil, dazu den Hersteller "Microsoft" und den Typ "Kodi" wählen, dann erhält man das Profil "Microsoft Multimedia-Player". Dieses Profil baut eine Verbindung über Bluetooth auf und meldet sich unter Gnome als "Harmony Keyboard". Unter den Gnome-Einstellungen / Bluetooth muss man dazu die Geräte pairen.
Anschließend kann man eine Aktion erstellen z.B. Media PC in der man den TV als Ausgabemedium, bei mir Sonos als Lautsprecher nutzt und den Microsoft Multimedia-Player als Steuergerät. Der SoundGraph Multimedia-Player muss ebenfalls in der Aktion eingebaut werden, da man über Bluetooth den Media PC nicht anschalten kann. Wenn ihr wollt könnt ihr noch die Reihenfolge ändern sodass zuerst der Media PC angeschaltet wird und dann erst die anderen Geräte.
Wenn alles gut gegangen ist habt ihr jetzt die selbe Funktionalität wie mit der Originalfernbedienung bzw. läuft es noch besser, weil ihr keine Sichtverbindung mehr zum Gehäusedisplay braucht und alle Tasten funktionieren.