Führung

Joysticktasten-Belegung im Kneeboard

Immer wenn ich mich nach der Sommersaison mit den kälter werdenden Tagen wieder dem Flugsimulator zuwendete, musste ich mir zuerst wieder die Bedienung erarbeiten: Zum Beispiel, wie die Tasten der Steuergeräte belegt sind.
Irgendwann habe ich begonnen, ein Tool zu basteln, das die aktuelle Kommandobelegungsdatei Standard.xml des FSX nach Einträgen von USB-Steuergeräten wie Joysticks scannt, deren Tastenbelegung ausliest und sie in eine HTM-Datei schreibt, die dann bei ausgewählten Flugzeugvarianten im Kneeboard anstelle der Flugzeugreferenz angezeigt wird:

- JoystickKeys -
bestehend aus dem Hauptprogramm JoyKey.exe, dem JoyClean.exe, das die Patches wieder zurücknimmt, sowie einem Install- wie einem Uninstall-Programm.

  • Neue Version 01.2015
    • Angepasst an uneinheitlich formatierte aircraft.cfg's von Addons
    • Fehler bei zu vielen Airplanes-Einträgen behoben
    • Unterschiedliche Joystickbelegungen für verschiedene Flugzeuge
    • Kompatibilität mit Windows 8.1
    • Bilddatei für Saitek Pro Flight Yoke hinzugefügt
  • Neue Version 2.2016
    • Fehler bei vielen Airplanes jetzt ganz behoben
    • Weitere kleinere Problemchen beseitigt
    • Verzeichnisstruktur gešndert

Hier gehts zum Download    Download KeyControls

Installieren

Das Zip-Archiv in ein beliebiges Verzeichnis entpacken und darin InstallJoyKey.exe starten. Sofern Sie unter einem Windows ab Vista aufwärts arbeiten, müssen Sie den Installer mit Administratorrechten starten (Kontextmenü rechte Maustaste).

Der Installer legt im Programmverzeichnis die Ordner "\KneeboardTools\JoystickKeys" oder auf Wunsch einen selbst gewählten Ordner für die Programmdateien an und kopiert die *.exe's hinein. Er erzeugt im Startmenü den Ordner "KneeboardTools\JoystickKeys" und erzeugt die Programmverknüpfungen. Desweiteren entsteht in "Eigene Dokumente" der Ordner "\KneeboardTools\JoyKeyData".

Es ist jederzeit möglich, JoystickKeys ein weiteres Mal oder neue Versionen über die alte zu installieren. Es werden dann nur alle Dateien überschrieben.

zurück

Programm-Doku

Die Programme greifen auf das Programmverzeichnis des FSX zu, und zwar auf SimObjects\Airplanes. Unter einem Windows ab Vista aufwärts müssen sie daher mit Admin-Rechten starten. Doch auch dann erfolgt jedesmal die Systemfrage, ob man den Zugriff zulassen möchte. Einfacher ist es, das Programmverzeichnis des FSX oder wenigstens \Airplanes für SchreibZugriffe zu "entsichern".

Bei der ersten Nutzung erzeugt JoyKeys in SimObjects\Airplanes den Ordner "Zoystick", in den eventuelle Bilder abgelegt werden. Ansonsten verändert JoyKeys nur die Zeilen

"kb_reference=Flugzeug_ref"
zu
"kb_reference=Joysticktasten //Ref:Flugzeug_ref"

und zwar nur bei den Flugzeugen und Varianten, die Sie ausgewählt haben. Es ist nicht sinnvoll, alle Flieger zu patchen, sondern nur die, mit denen man auch fliegt. Deshalb habe ich bewusst auf eine Schaltfläche "alle auswählen" verzichtet. Zudem kopiert das Programm die Tastenbelegung als htm-Datei in den Flugzeugordner.
Diese Änderungen werden vom JoyClean.exe wieder zurückgenommen, sodass die Ordner und die Aircraft.cfg's wieder im Ausgangszustand sind.

Damit JoyKeys arbeiten kann, müssen in allen aircraft.cfg's mindestens die beiden Zeilen
"title = ..."
und
"kb_reference = ..."
existieren. Sollte das einmal z.B. bei Addon-Flugzeugen nicht der Fall sein, fügt JoyKeys diese in die entsprechende "[fltsim.x]"-Sektion ein. Sollten Addon-Entwickler dafür einen Grund gehabt haben und irgendetwas danach nicht richtig funktioniert, können Sie den zugefügten Eintrag entweder mit dem Editor herauslöschen. Ein hinzugefügter Eintrag ist an dem Kommentar "//Ref: Zugefügt" zu erkennen. Sie können allerdings auch JoyClean benutzen, das jedoch alle Flugzeuge zurücksetzt.

Zu beachten ist, dass nach jeder Änderung der Joystick-Tastenbelegung das Programm JoyKeys (MakeJoystickKeyTab) aufgerufen wird. Wurden die Änderungen im FSX durchgeführt, muss vor der Ausführung von JoyKeys der Flugsimulator beendet werden; denn der FSX schreibt Änderungen erst beim Beenden in die Standard.xml.

Wenn Sie für verschiedene Flugzeuge unterschiedliche Joystickbelegungen haben, müssen Sie JoystickKeys für jede Belegung einzeln starten und das Häkchen aktivieren. Daraufhin fragt sie eine Dateiauswahlbox nach der jeweiligen XML-Datei, die die Belegung im Format der Standard.xml enthält. In der Liste sind dann alle Häkchen deaktiviert und Sie können die Flugzeuge wählen, für die diese Joysticktastenbelegung im Kneeboard angezeigt werden soll. Unterschiedliche Tastenbelegungen für die Varianten eines Flugzeugtyps sind nicht möglich.

zurück
  Wie man sieht, lassen sich im Kneeboard auch Bilder anzeigen.

Bilder

Am Ende eines Durchlaufs fragt JoyKeys mit einer Fileselectbox nach einer Bilddatei. Die Auswahl startet im Verzeichnis "JoyKeyData" in "Eigene Dokumente\KneeboardTools". Es kommen alle Bildformate in Frage, die vom HTM-Modul akzeptiert werden. Das Bild sollte in einer im Kneeboard vernünftig darstellbaren Auflösung vorliegen. Als Beispiele sind jeweils eine Bilddatei für den Joystick Saitek X52 Flight Controller sowie eine für den Saitek Pro Flight Yoke enthalten.

Zur Zeit ist JoyKeys folgendermaßen eingeschränkt:

1. In der HTM-Tabelle sind nur maximal 4 Spalten für Joysticks vorgesehen. Und weil alle Joysticks zweimal vorkommen (siehe "Standard.xml"), weist JoyKeys daher bei 8 gefundenen Joystick-Einträgen darauf hin.

2. Beim Scannen der einzelnen Aircraft.cfg's SimObjects\Airplanes liest das Programm nur maximal 16 Varianten ein (fltsim.x). Die Zahl der Flugzeugtypen ist bislang auf 64 beschränkt.

3. Wenn bei Yokes und Joysticks z.B. von Saitek mit der Saitek-Software (SST) die Belegungen für alle Modes verwaltet werden, kann Joykeys die nicht auslesen, denn sie stehen nicht in der Standard.xml.

Standard.xml

Wenn hier die Standard.xml erwähnt wird, ist immer die in User_AppData (Anwendungsdaten\Microsoft\FSX) gemeint. Denn dies ist die aktuelle, im Programmverzeichnis des FSX liegt nur die von Microsoft mitgelieferte Defaultbelegung, die der FSX beim allerersten Start nach User_AppData kopiert und fortan alle Änderungen der Belegung nur dort hineinspeichert. Es empfiehlt sich daher, diese Standard.xml irgendwo als Backup zu hinterlegen. Denn wenn z.B. mal die Fsx.cfg kaputtgeht, die übrigens genau wie die Standard.xml nur in User_AppData aktualisiert wird, dann holt der FSX von allen die Default-Dateien aus dem Programmverzeichnis und legt sie in User_AppData neu an.

Es hat wohl selten jemand mehr als 4 Joysticks etc. angeschlossen. Daher deutet die Meldung, dass mehr als 8 Einträge gefunden worden seien, in den meisten Fällen darauf hin, dass tote/blinde Einträge in der Standard.xml stehen. Wenn man zum Beispiel einen neuen Treiber für einen Joystick installiert, gibt es eine neue GUID und der FSX legt in der Standard.xml einen neuen Eintrag für den Joystick an. Am besten, man versucht an der Belegung herauszufinden, welcher Eintrag eines Joysticks der aktuelle ist, und löscht die alten.


Bernd Behr, Hannover, Januar 2016
E-Mail: bb@dreisein.de

zurück
facebook-freie Zone