Login
Newsletter
Werbung

Do, 15. Mai 2014, 15:00

Einstieg in LIRC mit inputlirc

inputlirc konfigurieren

Der Daemon inputlircd erwartet eine Liste mit Eingabegeräten auf der Kommandozeile. Es werden nur Ereignisse von diesen Geräten gelesen.

Erkennt der Befehl ir-keytable einen Empfänger, aber inputlircd reagiert nicht darauf, muss geprüft werden, ob das Gerät dort aufgelistet ist. Die Liste ist in der Datei /etc/default/inputlirc in der Variable EVENTS hinterlegt. Taucht das Gerät dort nicht auf, muss es hinzugefügt und die Konfiguration neu eingelesen werden:

# service inputlirc reload

Die Distributionen haben i.d.R. jedoch den Daemon inputlircd so konfiguriert, dass auf alle Eingabegeräte reagiert wird und als Standardwert EVENTS="/dev/input/event*" hinterlegt, was alle Eingabegräte umfasst.

Den Dialog für die Startprogrammeinstellungen startet man in der Shell via gnome-session-properties

Steffen Rumberger

Den Dialog für die Startprogrammeinstellungen startet man in der Shell via gnome-session-properties

Clientprogramme konfigurieren

Medienplayer usw. fungieren meist selbstständig als LIRC-Clientprogramm. Eine Ausnahme ist das Terminal. Dieses hat in der Regel keinen LIRC-Client integriert, wertet die LIRC-Konfigurationdatei nicht aus und reagiert nicht auf Ereignisse vom LIRC-Daemon inputlircd, sodass das Programm irexec aus dem Paket lirc benötigt wird, um einen Shell-Befehl zu starten.

Ist das Programm irexec gestartet, liest es, wie alle LIRC-Clientprogramme, die Konfigurationsdatei $HOME/.lircrc ein. Die Datei ist eine einfache Textdatei.

Um irexec automatisch beim Anmelden zu starten und Shell-Befehle mit der Fernbedienung ausführen zu können, fügt man den Befehl irexec --daemon zum Autostart hinzu.

Damit auf Tasten wie die zur Lautstärkeregelung und Ton-An/Aus-Wechsel reagiert wird, muss die LIRC-Konfigurationsdatei $HOME/.lircrc angelegt werden und so aussehen wie im unten stehenden Listing.

begin
        ## Lauter
        prog = irexec
        button = KEY_VOLUMEUP
        ## Wenn Pulsaudio benutzt wird
        config = pactl set-sink-volume 0 -- +13        ## Wenn ALSA bentutzt wird
        #config = amixer -q set Master 13end

begin
        ## Leiser
        prog = irexec
        button = KEY_VOLUMEDOWN
        ## Wenn Pulsaudio benutzt wird
        config = pactl set-sink-volume 0 -- -13        ## Wenn ALSA bentutzt wird
        #config = amixer -q set Master 13end

begin
        ## Ton-An/Aus-Wechsel
        prog = irexec
        button = KEY_MUTE
        ## Wenn Pulsaudio benutzt wird
        config = pactl set-sink-mute 0 -- 1
        config = pactl set-sink-mute 0 -- 0
        ## Wenn ALSA bentutzt wird
        #config = amixer -q set Master mute
        #config = amixer -q set Master unmute
end

begin
        ## VLC starten und beenden.
        prog = irexec
        button = KEY_POWER2
        ## starten und Internetradio öffnen
        config = vlc http://livestream.example.net &
        ## beenden
        config = vlc vlc://quit
end

begin
        ## VLC Play/Pause-wechsel
        prog = vlc
        button = KEY_PLAYPAUSE
        config = key-play-pause
end

Zum Verständnis der Konfigurationsdatei muss man wissen, dass die LIRC-Clientprogramme bei jeder Betätigung einer Taste auf der Fernbedienung, von oben nach unten der Reihe nach, alle Blöcke überprüfen. Ist der jeweilige Block für den jeweiligen Client zuständig (d.h. prog und button passen) wird der mit config angegebene Befehl vom Client ausgeführt.

Mehrere aufeinander folgende config-Zeilen werden im Wechsel ausgeführt, sodass beim ersten Drücken die erste und bei erneutem Drücken dann die nächste config-Zeile ausgeführt wird. So lassen sich z.B. Funktionen wie Ton An/Aus oder Play/Plause-Wechsel erstellen (»Toggle«).

Tastensequenzen lassen sich durch mehrere button-Zeilen hintereinander festlegen.

Mögliche Optionen eines Blocks
Option Beschreibung
proc LIRC-Clientprogramm, an das sich der Befehl richtet, z.B. irexec, vlc usw.
button Taste, auf die reagiert werden soll
config Client spezifischer Befehl, der vom LIRC-Clientprogramm ausgeführt werden soll.

Daneben gibt es noch weitere Optionen, die auf der LIRC-Webseite dokumentiert sind, aber für einfache Setups in der Regel nicht benötigt werden.

Ist die Konfigurationsdatei angelegt und der Daemon inputlircd gestartet, kann das LIRC-Clientprogramm gestartet werden. In diesem Beispiel das oben erwähnte Programm irexec zur Ausführung von Shell-Befehlen.

Um irexec zu starten, falls noch keine Instanz läuft, öffnet man ein Terminal und führt folgenden Befehl aus:

$ irexec --daemon

Ist irexec gestartet, sollten durch das Drücken der Tasten für »Lauter«, »Leise« und »Stumm« die entsprechenden Befehle ausgeführt werden.

Für erste Tests und zum Debuggen der LIRC-Konfigurationsdatei ist das Kommandozeilen-Programm ircat hilfreich. Es kann die Rolle eines beliebigen LIRC-Clientprogramms annehmen und gibt den Befehl für die jeweils gedrückte Taste aus, ohne diesen auszuführen.

Als Argument erwartet ircat den Namen des Clientprogramms, das debuggt werden soll, so wie mit prog in der Konfigurationsdatei angegeben. Um vorzugeben, ircat sei der VLC Media Player, damit also alle Blöcke mit gesetztem prog=vlc greifen, muss folgender Befehl ausgeführt werden:

$ ircat vlc

Angemerkt sei noch, dass die Desktopumgebung GNOME Eingabegeräte der HID-Klasse erkennt und auf die Tastencodes KEY_VOLUMEDOWN, KEY_VOLUMEUP und KEY_MUTE auch ohne LIRC reagiert. Unter KDE stellt KDELirc die Verbindung zwischen LIRC und dem Desktop dar.

Einstellungen von VLC mit aktivierter Infrarot-Schnittstelle

Steffen Rumberger

Einstellungen von VLC mit aktivierter Infrarot-Schnittstelle

VLC-Kommandos für die Option config
VLC-Kommando Beschreibung
key-disc-menu Zum DVD-Menü gehen
key-loop Normal/Wiederh./Schleife
key-nav-activate Navigation aktivieren
key-nav-down Nach unten bewegen
key-nav-left Nach links bewegen
key-nav-right Nach rechts bewegen
key-nav-up Nach oben bewegen
key-next Nächstes
key-pause Pause
key-play-bookmark1 bis key-play-bookmark10 Wiedergabelistenlesezeichen
key-play-pause Play/Pause-Wechsel
key-play Play
key-prev Vorheriges
key-quit Beenden
key-random Zufällig
key-stop Stopp
key-title-next Nächsten Titel wählen
key-title-prev Vorherigen Titel wählen
key-toggle-fullscreen Vollbild-An/Aus-Wechsel
key-vol-down Leiser
key-vol-mute Ton aus
key-vol-up Lauter

VLC-Kommandos ausführen

Damit der VLC media player als LIRC-Clientprogamm agiert, die LIRC-Konfigurationsdatei auswertet und per Fernbedienung mittels LIRC gesteuert werden kann, muss die LIRC-Schnittstelle aktiviert sein. Diese aktiviert man im Dialog Extras -> Einstellungen, und unten links bei Einstellungen zeigen muss Alle ausgewählt werden. Dann Interface -> Kontrollinterfaces aufrufen und dort Infrarot-Fernbedienungsinterface auswählen. Die verfügbaren Befehle lassen sich im Terminal mit dem Befehl vlc --help --advanced aufrufen, dort werden sie unter »Hotkeys« aufgelistet.

Alle diese Kommandos sind im Quellcode des VLC media player in folgender Datei definiert: src/libvlc-module.c.

IR-Empfänger selbst bauen

Im Netz gibt es Anleitungen für den Empfänger-Bau (als HID implementiert), z.B. USB-IR-Boy und usb-ir-remote.

Autoreninformation

Steffen Rumberger ist Debian GNU/Linux-Nutzer. Er nutzt den VLC Media Player für Internetradio und DVB-T.

Dieser Artikel ist in freiesMagazin 04/2014 (ISSN 1867-7991) erschienen. Veröffentlichung mit freundlicher Genehmigung.

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung