Die Grundlagen
Eventlircd (http://code.google.com/p/eventlircd übersetzt Tastendrücke die über event Geräte hereinkommen in Lirc-Tastendrücke. Im Prinzip macht es das gleiche wie das remote plugin, mit dem Unterschied das es nur Tasten auswerten kann, denen auch eine Taste zugewiesen wurde.
Eventgeräte sind zum Beispiel normale Tastaturen, Fernbedienungen die sich als Tastaturen melden. Fernbedienungen welche an DVB Karten angeschlossen sind, melden sich teilweise auch als Tastaturen, ausserdem gibt es eine neue Schnittstelle für Fernbedienungen namens rc-core, auf welche Jarod Wilson (Neuer Maintainer des Lirc Projektes) schon einige der ehemals Lirc Treiber portiert hat, als auch einige der Fernbedienungen an DVB Geräten
Auch diese Schnittstelle, auch wenn sie keine normalen Tastaturtreiber sind, stellt ihre Geräte als Eventgeräte zur Verfügung.
Mäuse arbeiten auch über die Input Schnittstelle, eventlircd versucht diese aber durchzuleiten.
Eventlircd erkennt seine Geräte über udev, auch wenn sie nach dem Start des Dämon eingebunden oder angeschlossen werden. Hier liegt einer der Vorteile dieser Lösung, da eventlircd ab Start den Lirc Socket bereitstellt, und nach und nach seine Geräte einbinden kann.
Um welche Geräte es sich kümmern soll, erkennt eventlircd anhand von Attributen, welche man den Geräten über udev mitteilen kann. Für manche Geräte haben wir das schon in der Standardkonfiguration (rc-core, Geräte die wir selber besitzen, Konfigurationen die uns gegeben wurden).
Lircd kann man über den Switch --uinput mitteilen seine Tastendrücke an das uinput-Gerät (Userland Input?) zu übergeben. Damit kann dann lircd parallel zu anderen Geräten gestartet werden und auch mehrere lircd für verschiedene Geräte mit unterschiedlicher Konfiguration gleichzeitig starten. Die Ausgabe erfolgt für die Anwendungen dann, als würde es von einem einzigen Gerät kommen.
Da manche Geräte eindeutig erkannt werden können (zum Beispiel USB Geräte), kann man diese über udev mit der für das jeweilige Geräte richtigen Konfiguration automatisch starten. Die Konfigurationen für all diese Geräte kann man alle gleichzeitig auf dem System haben, da sie nur aktiv werden, wenn udev die Geräte die auch wirklich angeschlossen sind initialisiert.
Eventlircd kann geräteabhängig eine Übersetzungstabelle mitgegeben werden, um die Tastenbelegung anzupassen. (sogenannte evmaps)
Die Vorteile sind also:
- frühe Verfügbarkeit des Lircsocket
- Vorkonfiguration für verschiedenste Geräte möglich
- Tastatur , rc-core und Lirc Geräte können angesprochen werden.
- Nichts muss konfiguriert werden wenn die Fernbedieung bekannt ist und schon unterstützt wird.
Da nichts ohne einen Preis zu haben ist, gibt es natürlich auch "Nachteile".
Um die Vorteile der Lösung zu nutzen, braucht man eine Standardbelegung auf die man die Tasten normalisieren kann, hierbei kommt dann die Anlernfunktion des VDR nicht mehr zum tragen. Wenn das Gerät noch nicht unterstützt wird, bedeuteutet dies unter Umständen ein etwas mühsames manuelles Anpassen bis die Tasten der eigenen Fernbedienung auf die von uns gelieferte passt.
Um in den Genuß zu kommen Lirc wie oben beschrieben nutzen zu können, müssen die Tasten in der lircd.conf entsprechend der Regeln der Inputgeräte benannt werden. Bei Lirc heisst das Namespace-konform benannt sein. Sinnvoll wäre hier natürlich eine Benennung entsprechend unserer Standardbelegung.
Ein Wort zu unserer Standardbelegung. Wir richten uns nach der Dokumentation von linux-media (http://www.linuxtv.org/wiki/index.php/Remote_Controllers , Tabelle am Ende der Seite) und benutzen diese nach unserem Verständnis als Referenz
Es folgen noch Details zu:
- Inputgeräten
- rc-core
- automatisch erkennbare Lirc Geräte
- nicht automatisch erkennbare Lirc Geräte
Das dann aber in jeweils seperaten Posts.