Hallo zusammen,
ich hab' mahl wieder eine neue Testversion (V1.09 Rev.4) des Koordinatenprogrammes herausgebracht, mit der man die Hardwaretaste (Fänchentaste) am PNA mit weiteren/anderen Funktionen belegen kann.
Ebenso kann man die Tasten der Fernbedienung damit anderweitig nutzen.
Dazu muss das Koordinatenprogramm im "Servermodus" ausgeführt werden, d.h. es läuft im Hintergrund und fängt dabei die Tastatureingaben ab und verändert sie.
Ich will die Funktion an einem Parameter-Beispiel erläutern: (eine Zeile!)
Window=0 KoordServ=0 ServKeyFile=\Storage Card\Programme\KOORD\Tasten.txt| ServKey=196,300,-1,-1\196,1000,0x70,-1\196,3000,-2,-1\250,0,-3,-1|
Window=0 Kein Koordinateneingabe-Fenster
KoordServ=0 Der Servermodus wird ohne sichtbares Fenster gestartet.
ServKeyFile=<voller Dateiname>| in dieser Textdatei können komplexere Funktionen hinterlegt werden.
ServKey= die eigentlichen Tastenzuweisungen, getrennt durch einen Backslash "\" und beendet mit einem Pipezeichen "|".
Eine Tastenzuweisung im Parameter ServKey= hat folgende Syntax. Die einzelnen Werte sind durch Komma "," zu trennen:
1) KeyCode der Taste, die umbelegt werden soll
2) Zeit in ms zwischen Drücken und Loslassen (geht leider bei der FB nicht)
3a) positiver Wert: neuer KeyCode
3b) negativer Wert: Zeilennummer (Absolutwert!) in der mit ServKeyFile= bezeichneten Datei. Der Inhalt der einen angegebenen Zeile wird als Parameter an das Koordinatenprogramm übergeben.
Hier ein Beispiel für diese Datei (z.B. \Storage Card\Programme\KOORD\Tasten.txt):
window=0 SendKey=\a0x09\0x28\0x0D
taskbar=2 window=0
explorer=1 sip=1 window=0
4) momentan nicht benutzt. Hier können später die (GoPal-)Fenster angegeben werden, für die diese Tastenbelegung gilt. -1 bedeutet: gilt global.
Die erste Tastenzuweisung (196,300,-1,-1) macht also folgendes:
Wenn die Fänchentaste (=196=0xC4) länger als 300ms gedrückt wird, dann wird der in der 1. Zeile angegebene Koord-Parameter anstatt der Defaultbelegung ("Neues Ziel") ausgeführt. Die Umbelegung ist global gültig.
So kann man zu nächsten Programm (via Taskmanager) weiterschalten
Die zweite Tastenzuweisung (196,1000,0x70,-1) macht also folgendes:
Wenn die Fänchentaste (=196=0xC4) länger als 1000ms gedrückt wird, dann wird statt dessen die Eingabe F1 (=112=0x70) simuliert. Die Umbelegung ist global gültig.
Damit das eine Wirkung hat, muss natürlich mit F1 einen Funktion (GlobalHK:) belegt sein.
Die dritte Tastenzuweisung funktioniert analog zur ersten.
Die vierte Tastenzuweisung (250,0,-3,-1) ist für die Fernbedienung:
Wenn die Play-/Pausetaste(=250=0xFA) gedrückt wird (es können keine Zeiten Unterschieden werden, daher muss 0ms angegeben werden), dann wird der in der 3. Zeile angegebene Koord-Parameter anstatt der Defaultbelegung ("Pause") ausgeführt. Die Umbelegung ist global gültig.
So kann man mit dieser Taste den Explorer starten.
Noch ein paar Hinweise:
1) Wird die Fänchentaste kürzer als 300ms gedrückt, so erfolgt in diesem Beispiel die normale Abarbeitung ("Neues Ziel").
2) Bitte keine Tasten umbelegen, die selbst irgendwo gesendet werden (z.B. OK-Taste=13=0x0D), wenn an anderer Stelle ein 0x0D via SendKey gesendet wird. Dann würde der gesendete Key auch wieder umbelegt werden! Das kann zu unvorhersagbaren Ergebnissen führen!
3) Werden für die selbe Taste mehrere verschiedene Zeiten definiert (nicht für FB!), dann bitte in aufsteigender Reihenfolge angeben!
4) Der Servermodus kann durch nochmaligen Aufruf in Servermodus (Button nochmal drücken) beendet werden.
5) Man kann sich auch eine "Statusausgabe" machen, damit man sieht, ob der Servermodus aktiv ist: z.B. diesen Parameter noch hinzufügen:
ServWnd=text,80,5,5,5,16,0,0,0,-1{ }\|
Damit wird ein kleines Kästchen angezeigt (s. auch UTM-Anzeige).
So nun bitte mal testen und Anregungen geben!
Gruß,
Stefan