Einstieg in LIRC mit inputlirc
Die Übersetzungstabelle abgleichen
Damit die Übersetzungstabelle bearbeitet und die Scancodes, auf die der Empfänger reagieren soll, eingetragen werden können, kopiert man diese als Root in eine Datei:
# ir-keytable --read > /usr/local/etc/ir-keytable.txt
Die Übersetzungstabelle wurde als einfache Textdatei unter /usr/local/etc/ir-keytable.txt gespeichert und kann mit einem Editor bearbeitet werden.
Die Übersetzungstabelle besteht aus mehreren Zeilen, die jeweils einem Scancode einen Tastencode zuweisen, und sieht beispielsweise so aus:
... scancode 0x05 = KEY_MUTE (0x71) scancode 0x40 = KEY_VOLUMEDOWN (0x72) scancode 0x02 = KEY_VOLUMEUP (0x73) ...
Jede Zeile ist eine Wertezuweisung und weist einem Scancode einen Tastencode zu. Die Syntax dazu ist folgende: Zuerst das Schlüsselwort scancode
und der hexadezimale Wert des Scancode. Dann das Gleichheitszeichen und der Tastencode, der dem Scancode zugewiesen werden soll. Mögliche Tastencodes, zeigt die Tabelle »Gängige Tastencodes« unten, wobei es ausreicht, nur den Namen oder Hexadezimal-Wert anzugeben und
nicht beides, wie im Beispiel oben.
Gängige Tastencodes | ||
Name | Hex-Wert | Beschreibung |
KEY_0 bis KEY_9 | 0x1 bis 0xB | Tasten 0 bis 9 |
KEY_MUTE | 0x71 | Ton aus |
KEY_NEXT | 0x197 | Nächstes |
KEY_PAUSE | 0x77 | Pause |
KEY_PLAY | 0xcf | Play |
KEY_PLAYPAUSE | 0xa4 | Play/Pause-Wechsel |
KEY_POWER | 0x74 | System Beenden |
KEY_POWER2 | 0x164 | Beenden |
KEY_PREVIOUS | 0x19c | Vorheriges |
KEY_STOP | 0x80 | Stopp |
KEY_VOLUMEDOWN | 0x72 | Leiser |
KEY_VOLUMEUP | 0x73 | Lauter |
Alle Tastencodes (Keycodes) sind in der Datei /usr/include/linux/input.h im Quellcode von Linux definiert.
Wurde die Übersetzungstabelle bearbeitet, muss sie dem Empfänger bekannt gemacht werden. Das passiert mit folgendem Befehl:
# ir-keytable --clear --write /usr/local/etc/ir-keytable.txt
Ein erneuter Test mit dem Befehl ir-keytable --test
sollte dann zeigen, dass Scancode und Tastencode wie gewünscht zusammenpassen und paarweise ausgegeben werden.
Da die Übersetzungstabelle nach einem Neustart jedes mal wieder neu gesetzt werden muss, sollte der obige Befehl in die Datei /etc/rc.local o.ä. eingetragen werden, damit die geänderte Übersetzungstabelle bei jedem Neustart dem Empfänger wieder bekannt gemacht wird.