PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : key-control im Zusammenspiel mit M740-Fernsteuerung, CridManager, osd2tcp.



Lemmi
15.08.2005, 23:20:50
Einleitung

Das Tool key-control (http://www.m740.de/wiki/index.php/Key-control) wertet Fernbedienungsbefehle aus um sie sie benutzerfreundlich zu ,beugen'. Dieses führte aber zu Problemen mit der M740-Fernsteuerung (http://www.m740.de/wiki/index.php/M740-Fernsteuerung), da sich die Tasten anders als erwartet auswirken. Die gleiche Problematik dürfte sich mit CirdManager (http://www.m740.de/wiki/index.php/CridManager) und osd2tcp (http://www.m740.de/wiki/index.php/CridManager) ergeben.

lircd-Theorie

Wie im Wiki unter lircd (http://www.m740.de/wiki/index.php/Lircd) beschrieben, besteht ein simuliertes Kommando aus den folgenden Teilen:


sim <bin-code> <count> <button-name> <application>


<bin-code> ist der binäre Tastenkode und hat erteinmal keine weitere Bedeutung. Daher war meine Empfehglung, den Wert "0" zu verwenden.
<count> ist der Wiederholzähler bei dauerhaft gedrückter Taste und beginnt bei 0.
<button-name> muß einer der Namen aus der Datei /etc/lirc.conf sein.
<application> ist der Apllikationsname des sendenen Programmes.


key-control

Key-Control hat die Eigenschaft, nur auf Tasten zu reagieren, dessen <bin-code> ungleich "0" ist. Dieses habe ich extra für das Zusammenspiel mit der M740-Fernsteuerung eingebaut.

Vorschlag einer Konvention

Ich schlage jetzt die folgende Konvention vor, um ein sinnvolles Miteinander zu ermöglichen:

Jede Applikation verwendet einen eindeutigen Namen oder sinnvolles Kürzel für den 4. Parameter <application>. Damit kann in Zukunft, falls nötig, die Herkunft eines Kommandos unterschieden werden.
.
Soll eine Taste direkt ohne jegliche ,Beugung' gesendet werden, dann muß als <bin-code> der Wert "0" und anderenfalls der Wert "1" verwendet werden.
Die Original-FB verwendet Zahlenkodes mit 16 Stellen.
Alle andere Tastenkodes bleiben vorerst reserviert.
.
<bin-code> "0" bietet sich dann an, wenn Sequenzen gesendet werden sollen, z.B. bei der Timer-Programmierung.
.
<bin-code> "1" bietet sich dagegen bei einer virtuellen Fernbedienung an, die ja die echt nur simulieren und daher die gleichen Ergebnisse erzielen soll.

api
16.08.2005, 06:53:13
Vorschlag einer Konvention

Ich schlage jetzt die folgende Konvention vor, um ein sinnvolles Miteinander zu ermöglichen:

Jede Applikation verwendet einen eindeutigen Namen oder sinnvolles Kürzel für den 4. Parameter <application>. Damit kann in Zukunft, falls nötig, die Herkunft eines Kommandos unterschieden werden.
Dann mach ich mal den Anfang:
Das PHP-Skript M740-Fernsteuerung sendet ab jetzt Lircd-Kommandos mit der Applikationskennung 'm740-fernsteuerung'.

karlo.h
16.08.2005, 07:32:21
<bin-code> "1" bietet sich dagegen bei einer virtuellen Fernbedienung an, die ja die echt nur simulieren und daher die gleichen Ergebnisse erzielen soll.


OK, bei Klicks auf die Fernbedienung eine "1", bei Makros abspielen, wenn niemand dazwischenfunken soll, eine "0".

Applikationskennung für den CridManager wird, oh Überraschung, CridManager.

andreas.koch
16.08.2005, 10:47:24
okay der osd2tcp Client, wird demnächst als Applikationskennung 'osd2tcp' senden. 0/1-Verhalten für den Bin-Code ist auch okay (wobei der Client momentan nur eine 1 senden sollte)

Grüße

Andreas

MartinO
16.08.2005, 15:45:51
Ich schlage jetzt die folgende Konvention vor, um ein sinnvolles Miteinander zu ermöglichen:


kein Problem, bei künftigen Versionen von key-control werde ich dies berücksichtigen. Für die aktuelle würde ich dich bitten, dies selbst zu patchen -- aus dem Kopf denke ich, es ist nur eine Stelle in key-control, wo die "sim"-Befehle abgesendet werden, die zu ändern ist.

Gruß, Martin

Lemmi
16.08.2005, 17:49:51
Dann sind wir uns ja einig :)

Lemmi
16.08.2005, 19:02:18
Habe das Wiki entsprechend aktualisiert: http://www.m740.de/wiki/index.php/Lircd