Blog about My Life :: My World :: My Universe
Fernbedienung OR23E X10 mit lirc und Ubuntu
Ich habe hier noch aus Windows-Zeiten eine RF Fernbedienung mit USB-Empfänger rumliegen, die RF MCE Remote Control, Model OR23E von X10. Ich habe mir die Frage gestellt, ob es eventuell möglich ist, diese Fernbedienung auch unter Linux zu nutzen. Wichtig waren mir die Funktionen Lauter/Leiser, Stop, Play und Pause und vor allem die Bedienung von VLC, wobei ich bei VLC auch in den Vollbildmodus wechseln wollte und das Seitenverhältnis ändern können wollte. Vorweg: das ist mir glücklicherweise gelungen! ![]()
Darüber hinaus ist es möglich, den Computer mit der Fernbedienung runterfahren oder neu starten zu lassen.
Also, was wird benötigt?
Zunächst einmal die o. g. Fernbedienung.
Model der Fernbedienung in Erfahrung bringen
Ob es sich insoweit um die gleiche handelt, bringt man wie folgt in Erfahrung:
Bus 002 Device 002: ID 0bc7:0006 X10 Wireless Technology, Inc. Wireless Transceiver (ACPI-compliant)
Meine Fernbedigung hat also die ID 0bc7:0006 und die folgenden Ausführungen beziehen sich somit nur auf dieses Model.
Benötigte Pakete
Benötigt werden die Pakete lirc, lirc-x und xmacro:
Im darauffolgenden Dialog wählt man ATI/NVidia/X10 RF Remote (userspace) aus und bestätigt mit Ok.
Anschließend wird “None” ausgewählt und ebenfalls mit Ok bestätigt.
Sollte euch ein Fehler unterlaufen sein: Keine Panik! Mit
kann alles neu konfiguriert werden.
Sofern man den RF-USB-Empfänger bereits angeschlossen hatte, muss das dabei geladene Kernelmodul wieder entladen werden, damit es nicht zu Diskrepanzen zwischen diesem und lirc kommt, und danach lirc neugestartet werden:
$ sudo /etc/init.d/lirc restart
Findet man in älteren Anleitungen noch den Hinweis, man müsse das sooeben entladene Modul in /etc/modprobe.d/blacklist eintragen, so erübrigt sich das ganze nunmehr, weil lirc selbst das Modul unter /etc/modprobe.d/blacklist-lirc blacklistet und es somit nicht mehr geladen wird.
Tasten der Fernbedienung konfigurieren
Als nächstes müssen die Tasten der Fernbedienung konfiguriert werden. Ich habe für dieses Fernbedieungsmodel vergeblich diverse Konfigurationsdateien ausprobiert. Einige Tasten wurden erkannt, viele aber auch nicht, sodass ich eine eigene Konfigurationsdatei erstellen musste. Dies geschieht wie folgt:
$ sudo irrecord -H atilibusb ~/lircd.conf
gegebenenfalls muss noch das Kernelmodul von lirc händisch entladen werden:
Danach werdet ihr aufgefordert, zunächst irgendeine Taste gedrückt zu halten, was ihr dann natürlich auch tut. Im nächsten Schritt werden die einzelnen Tasten zugewiesen. Zu beachten ist, dass die Tastenbenennung in dieser Konfigurationi nicht frei erfolgen kann. Für die rote Taste auf der Fernbedienung ist es z.B. nicht möglich, sie “Rote_Taste” zu nennen.
Stattdessen gibt es einige Vorgaben für die Benennung der Tasten, die mit folgendem Befehl, evtl. in einem weiteren Terminal, aufgerufen werden können:
So hat in meinem Beispiel zwingend als Benennung für die rote Taste KEY_RED zu erfolgen. Für die blaue entsprechend KEY_BLUE, für Play KEY_PLAY etc.
Solltet ihr eigene Bezeichnungen vornehmen wollen, so muss der Befehl irrecord mit dem Parameter –disable-namespace aufgerufen werden:
Nachdem alle Tasten benannt sind, ist die soeben generierte lircd.conf in das richtige Verzeichnis zu kopieren, damit sie von lirc gefunden und auch benutzt wird:
$ sudo cp ~/lircd.conf /etc/lirc/lircd.conf
$ sudo /etc/init.d/lirc start
Wer nunmehr die gleiche Fernbedienung hat wie ich, der könnte theoretisch die von mir bereits erzeugte lircd.conf benutzen können.
Datei einfach in einen beliebigen Ordner herunterladen und danach an die richtige Stelle kopieren:
$ sudo cp /pfad/zur/heruntergeladenen/lircd.conf /etc/lirc/lircd.conf
$ sudo /etc/init.d/lirc restart
Wer nicht meine lircd.conf benutzt, muss darauf achten, dass der Fernbedieungsname in der lircd.conf auch in den weiter unten aufgeführten Dateien wieder auftaucht (bei mir x10_or23e).
Ob die Fernbedienung nun Ordnungsgemäß funktioniert könnt ihr mit dem Befehl irw überprüfen.
00000014d7020000 03 KEY_POWER x10_or23e
00000014d7020000 04 KEY_POWER x10_or23e
0000001487b20000 03 KEY_RED x10_or23e
0000001487b20000 04 KEY_RED x10_or23e
0000001409340000 03 KEY_YELLOW x10_or23e
0000001409340000 04 KEY_YELLOW x10_or23e
0000001488b30000 03 KEY_GREEN x10_or23e
0000001488b30000 04 KEY_GREEN x10_or23e
Jeder Tastendruck sollte dabei eine entsprechende Ausgabe zur Folge haben.
Programme für Lirc konfigurieren
Lirc ist nun imstande, die Signale der Fernbedienung zu empfangen, weiß diese aber noch nicht zu interpretieren. Es ist nun also geboten, den Tastendrücken auch entsprechende Aktionen zuzuweisen. Diese Zuweisungen erfolgen in der Datei ~/.lircrc.
Im folgenden findet ihr meine Konfigurationen, mit der die Medientasten, vlc und das Herunterfahren des Rechners per Fernbedienung gesteuert werden können. Nähere Informationen zur Tastenbelegung und zur Verwendung von Lirc kann man z.B. im Ubuntu-Wiki finden, wobei einige Einträge offensichtlich nicht mehr ganz up-to-date sind.
Es sind folgende Dateien zu erstellen:
~/.lirc/mediakeys
~/.lirc/vlc
~/.lirc/gnome-session-save
Wobei deren Inhalte wie folgt aussehen:
a) ~/.lircrc
include ~/.lirc/mediakeys
include ~/.lirc/vlc
### Session
begin
prog = irexec
button = KEY_POWER
config = gnome-session-save --shutdown-dialog --gui
mode = gnome-session-save
end
include ~/.lirc/gnome-session-save
b) .lirc/mediakeys
begin
prog = irexec
button = KEY_MEDIA
repeat = 1
delay = 5
config = echo KeyStrPress XF86AudioMedia KeyStrRelease XF86AudioMedia | xmacroplay $DISPLAY
end
begin
prog = irexec
button = KEY_VOLUMEUP
repeat = 1
delay = 5
config = echo KeyStrPress XF86AudioRaiseVolume KeyStrRelease XF86AudioRaiseVolume | xmacroplay $DISPLAY
end
begin
prog = irexec
button = KEY_VOLUMEDOWN
repeat = 1
delay = 5
config = echo KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume | xmacroplay $DISPLAY
end
begin
prog = irexec
button = KEY_MUTE
repeat = 0
config = echo KeyStrPress XF86AudioMute KeyStrRelease XF86AudioMute | xmacroplay $DISPLAY
end
begin
prog = irexec
button = KEY_PLAY
config = echo KeyStrPress XF86AudioPlay KeyStrRelease XF86AudioPlay | xmacroplay $DISPLAY
end
begin
prog = irexec
button = KEY_PAUSE
config = echo KeyStrPress XF86AudioPause KeyStrRelease XF86AudioPause | xmacroplay $DISPLAY
end
begin
prog = irexec
button = KEY_NEXT
config = echo KeyStrPress XF86AudioNext KeyStrRelease XF86AudioNext | xmacroplay $DISPLAY
end
begin
prog = irexec
button = KEY_PREVIOUS
config = echo KeyStrPress XF86AudioPrev KeyStrRelease XF86AudioPrev | xmacroplay $DISPLAY
end
begin
end
c) ~/.lirc/gnome-session-save
begin
prog = irxevent
button = KEY_UP
config = Key Up CurrentWindow
end
begin
prog = irxevent
button = KEY_DOWN
config = Key Down CurrentWindow
end
begin
prog = irxevent
button = KEY_OK
config = Key Return CurrentWindow
end
end gnome-session-save
d) ~/.lirc/vlc
remote = x10_or23e
prog = vlc
button = KEY_UP
config = key-nav-up
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_LEFT
config = key-nav-left
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_OK
config = key-nav-activate
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_RIGHT
config = key-nav-right
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_DVD
config = key-disc-menu
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_VOLUMEUP
config = key-vol-up
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_CHANNELUP
config = key-next
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_VOLUMEDOWN
config = key-vol-down
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_MUTE
config = key-vol-mute
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_CHANNELDOWN
config = key-prev
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_REWIND
config = key-slower
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_PLAYPAUSE
config = key-play-pause
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_FORWARD
config = key-faster
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_STOP
config = key-quit
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_PAUSE
config = key-play-pause
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_ENTER
config = key-nav-activate
repeat = 0
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_RED
config = key-toggle-fullscreen
repeat = 32
delay = 0
end
begin
remote = x10_or23e
prog = vlc
button = KEY_YELLOW
config = key-aspect-ratio
repeat = 32
delay = 0
end
Wer möchte, kann die drei Dateien auch einfach von hier runterladen und diese benutzen.
Zum Testen der Konfiguration, nach dem Neustart von lirc, kann man
und
eingeben und sehen, ob die jeweiligen Tasten erkannt werden.
Sollte alles zur vollen Zufriedenheit erkannt worden sein, sind die Daemons wie folgt zu starten:
$ irxevent -d
Autostart
Um die Programme bei jedem Gnome-Start zu starten, sind die Daemons noch zu den Autostartprogrammen unter System — Einstellungen — Startprogramme einzutragen.
Damit sollten nun VLC, die Medientasten und das Herunterfahren/Neustarten des Computers funktionieren.
#EOF.
Quellen:
http://linuxundich.de br>
http://wiki.ubuntuusers.de
| Artikel drucken | Dieser Beitrag wurde von brain am 21. März 2010 um 15:44 veröffentlicht und unter Allgemein, Gnome, Linux, Tools abgelegt. Du kannst allen Antworten zu diesem Beitrag durch RSS 2.0 folgen. Du kannst eine Antwort schreiben oder einen Trackback von deiner eigenen Seite hinterlassen. |





vor 2 Jahren
Vielen DANK für dieses Tutorial. Ich habe deine Webseite über die Bildersuche bei g**gle gefunden. Da ich dieselbe FB habe, konnte ich deinen Schritten folgen und bediene nun eeendlich mein XBMC aus der Fernbedienung.
VIELEN DANK und beste Grüße aus Hamburg
psyc
vor 2 Jahren
Schön, dass es bei dir auch gut geklappt hat