Login
Newsletter
Werbung

Do, 15. Mai 2014, 15:00

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.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung