Hi!
Bin inzwischen ein wenig schlauer:
lircrcd soll dafür sorgen, dass Programme mit LIRC-Support, die beim Start in der .lircrc lesen und dann auf "ihre" Programmangaben (prog = <Programmname>
) reagieren, nicht in Konflikt mit anderen Programmen kommen, die ebenfalls nur auf die eigenen Einträge reagieren.
Wenn mehrere Programme ohne einem Modus (also ohne einer Anweisung mode = <Programmname>
) gestartet werden (was ja für alle Programmstarts "ohne" Fernbedienung der Fall ist), ist unklar, welcher Befehl für welches Programm ausgeführt werden soll. Das kann dann natürlich zu "Kuddelmuddel" führen (z.B. gleichzeitiges Ausführen von Befehlen für alle Programme; Fehler bei der Ausführung - es hat anscheinend auch mit der Reihenfolge des Programmstarts zu tun, was genau passiert, aber das ist schwer nachzuvollziehen). lircrcd soll das verhindern, es "verwaltet" sozusagen die Programme bzw deren "Modi".
(Teil meiner Konfusion resultiert sicher auch aus diesem Terminus: es sind anscheinend damit nicht die Modi gemeint, die per "mode = <Programmname>
" aufgerufen werden.. 😕 , sondern die zusammengefasst gedachten prog = <Programmname>
-Anweisungen. Die können zwar eine in einem Mode-Block stehen, müssen es aber nicht...)
Mit lircrcd lesen Programme mit LIRC-Support (wenn von "außerhalb" gestartet) allerdings die .lircrc-Datei so aus, wie es "eigentlich" vorgesehen ist: ohne die mode
-Blöcke. Finden sich aber außerhalb des definierten mode
-Blocks keine prog = <Programmname>
-Anweisungen, weil die alle im mode
-Block zusammengefasst sind, dann reagieren Programme auch nicht auf Tastendrücke, bzw. erst dann, wenn der mode
explizit mit einer entsprechend belegten Taste aufgerufen wurde....
Die Verwendung scheint also nur dann sinnvoll zu sein, wenn keine mode
-Blöcke verwendet werden und sich alle Anweisungen auf der "Grundebene" befinden. Die Verwendung von lircrcd und mode
-Blöcken schließst sich zwar nicht grundsätzlich aus, aber mit lircrcd werden (siehe oben) die mode
-Blöcke ohne explizite Anweisung nicht ausgelesen... ("Is it a bug or is it a feature?")
Was das Ganze noch erschwert: Bei einige Programmen mit integrierter LIRC-Unterstützung (wie Rhythmbox und Totem) funktioniert die Fernsteuerung mit lircrcd anscheinend gar nicht, egal ob die Programme nun mit mode
oder ohne aufgerufen werden; es erfolgt anscheinend kein Auslesen der prog = <Programmname>
-Anweisungen; "verblüffenderweise" werden aber in den entsprechenden mode
-Blöcken irexec-Anweisungen erkannt und ausgeführt (vielleicht ist das auch gar nicht so verblüffend, sondern es ist "ganz normal", weil die "Synchronisierung" für irexec funktioniert; aber "noamaal is das nich..." 😬 )
Meine "Fazit" bisher: Ich verwende die lircrcd-Funktion nicht, sonder starte die Programme immer per FB, und mit entsprechenden mode
, dann klappts auch mit dem Rhythmbox...
so long
hank