De/Joystick: Difference between revisions

Jump to navigation Jump to search
m
formating
m (First Upload)
 
m (formating)
Line 1: Line 1:
Können Sie sich in der Wirklichkeit einen Piloten vorstellen, der seine (reale) Cessna alleine mittels einer Tastatur steuert? Für das richtige “Pilotengefühl” benötigt man mindestens einen Steuerknüppel (=”Joystick”) bzw. ein Steuerhorn (=”yoke”), einen Gashebel (=”throttle”), möglichst noch Pedale für das Seitenruder (=”rudder pedals”), man kann auch nie genug zusätzliche Schalter und Regler haben, auch ein echter Pilotensessel wäre nicht schlecht - am besten wäre natürlich ein ganzes Cockpit mit mehreren Instrumententafeln! Leider kann die schiere Menge der möglichen Kombinationen der verschiedensten externen Zusatzgeräten von den verschiedensten Herstellern für die unterschiedlichsten PCs und Betriebssysteme zu beträchtlichen Schwierigkeiten führen. Die erste Schwierigkeit ist schon, in der folgenden Beschreibung immer wieder alle möglichen Geräte aufzulisten – obwohl das beschriebene auf alle diese externen Zusatz-Geräte zutrifft. Somit mach ich mir das Leben einfach: Ich verwende den allgemeinen Begriff „Joystick“ im Folgenden für alle Steuerungs-Geräte – mit Ausnahme der Maus und der Tastatur!
Können Sie sich in der Wirklichkeit einen Piloten vorstellen, der seine (reale) Cessna alleine mittels einer Tastatur steuert? Für das richtige “Pilotengefühl” benötigt man mindestens einen Steuerknüppel (=”Joystick”) bzw. ein Steuerhorn (=”yoke”), einen Gashebel (=”throttle”), möglichst noch Pedale für das Seitenruder (=”rudder pedals”), man kann auch nie genug zusätzliche Schalter und Regler haben, auch ein echter Pilotensessel wäre nicht schlecht - am besten wäre natürlich ein ganzes Cockpit mit mehreren Instrumententafeln! Leider kann die schiere Menge der möglichen Kombinationen der verschiedensten externen Zusatzgeräten von den verschiedensten Herstellern für die unterschiedlichsten PCs und Betriebssysteme zu beträchtlichen Schwierigkeiten führen. Die erste Schwierigkeit ist schon, in der folgenden Beschreibung immer wieder alle möglichen Geräte aufzulisten – obwohl das beschriebene auf alle diese externen Zusatz-Geräte zutrifft. Somit mach ich mir das Leben einfach: Ich verwende den allgemeinen Begriff „Joystick“ im Folgenden für alle Steuerungs-Geräte – mit Ausnahme der Maus und der Tastatur!
<br>
<br><br>
Damit die im FlightGear vorhandene automatische Erkennung der Steuerungs-Geräte funktioniert, muss es für jeden Joystick (etc.) eine XML-Steuerdatei geben, die beschreibt welche Achsen und/oder Knöpfe welche Funktionen im FlightGear wie auslöst. Diese Zuordnung nennt man „bindings“. Diese XML-Steuerdatei selbst kann irgendeinen Namen haben - aber innerhalb der Datei muss am Anfangs der Name definiert sein, mit dem sich das Gerät am PC anmeldet (mehr dazu später). Und die Datei muss in dem Verzeichnis stehen auf das die Datei
Damit die im FlightGear vorhandene automatische Erkennung der Steuerungs-Geräte funktioniert, muss es für jeden Joystick (etc.) eine XML-Steuerdatei geben, die beschreibt welche Achsen und/oder Knöpfe welche Funktionen im FlightGear wie auslöst. Diese Zuordnung nennt man „bindings“. Diese XML-Steuerdatei selbst kann irgendeinen Namen haben - aber innerhalb der Datei muss am Anfangs der Name definiert sein, mit dem sich das Gerät am PC anmeldet (mehr dazu später). Und die Datei muss in dem Verzeichnis stehen auf das die Datei
:FG_ROOT/joysticks.xml
:FG_ROOT/joysticks.xml
verweist. In diesem Verzeichnis existieren üblicherweise Unterverzeichnisse per Hersteller der Geräte. Wenn Sie also z.B. nach der *.XML-Konfiguration für einen „CH Products“-Joystick suchen, sollten Sie :im Verzeichnis
verweist. In diesem Verzeichnis existieren üblicherweise Unterverzeichnisse per Hersteller der Geräte. Wenn Sie also z.B. nach der *.XML-Konfiguration für einen „CH Products“-Joystick suchen, sollten Sie im Verzeichnis
FG_ROOT/Input/Joysticks/CH
:FG_ROOT/Input/Joysticks/CH
nachschauen. Voraussichtlich gibt es dort mehrere Steuerdateien für unterschiedliche Geräte mit unterschiedlichen Zuordnungen! Bei Geräten mit unterschiedlichem Namen aber gleicher Zuordnung wird keine extra Datei benötigt – allerdings müssen alle dazu passende „Gerätenamen“ in dieser einen Steuerungs-Datei aufgelistet sein.
nachschauen. Voraussichtlich gibt es dort mehrere Steuerdateien für unterschiedliche Geräte mit unterschiedlichen Zuordnungen! Bei Geräten mit unterschiedlichem Namen aber gleicher Zuordnung wird keine extra Datei benötigt – allerdings müssen alle dazu passende „Gerätenamen“ in dieser einen Steuerungs-Datei aufgelistet sein.


Line 21: Line 21:
*in „Ruhestellung“ ist, d.h. keine der „Axis“ ist außerhalb der Ruhestellung. Versuchen Sie es: Bewegen Sie die Regler Ihres Joysticks und beobachten die Auswirkungen im oberen Teil der Anzeige.
*in „Ruhestellung“ ist, d.h. keine der „Axis“ ist außerhalb der Ruhestellung. Versuchen Sie es: Bewegen Sie die Regler Ihres Joysticks und beobachten die Auswirkungen im oberen Teil der Anzeige.


An Hand obiger Darstellung können Sie also schnell entscheiden ob ein Fehler vorliegt und was Sie tun sollten um ihn zu beheben:
<br>
#Ist die Darstellung für Ihren Joystick richtig und sinnvoll und wie gewünscht? → Herzlichen Glückwunsch – Sie könnten dieses ganze Kapitel vergessen – wir empfehlen Ihnen aber dennoch das Kapitel einmal durchzulesen um ein gewisses Verständnis für die Funktion zu bekommen, und um zu erfahren wie Sie Ihren Joystick evtl. noch besser anpassen können!  
''''An Hand obiger Darstellung können Sie also schnell entscheiden ob ein Fehler vorliegt und was Sie tun sollten um ihn zu beheben:''''
*Ist die Darstellung für Ihren Joystick richtig und sinnvoll und wie gewünscht? → Herzlichen Glückwunsch – Sie könnten dieses ganze Kapitel vergessen – wir empfehlen Ihnen aber dennoch das Kapitel einmal durchzulesen um ein gewisses Verständnis für die Funktion zu bekommen, und um zu erfahren wie Sie Ihren Joystick evtl. noch besser anpassen können!  


#Ist der Zugriff auf FlightGear-Menü: “Hilfe” → “Joystick Informationen” deaktiviert? → Starten Sie mit der Überprüfung ob der Joystick vom PC erkannt wird im nachfolgenden Kapitel.  
*Ist der Zugriff auf FlightGear-Menü: “Hilfe” → “Joystick Informationen” deaktiviert? → Starten Sie mit der Überprüfung ob der Joystick vom PC erkannt wird im nachfolgenden Kapitel.  


#Wird ein falscher Joystick angezeigt? → Beim Starten sucht FlightGear im Verzeichnis (und Unterverzeichnissen von) FG_ROOT/Input/joysticks nach einer *.xml-Datei die die Zeile <name>IhrGeräteName</name> enthält. Wenn also ein falscher Joystick angezeigt wird steht diese Zeile in einer falschen Datei – oder der „Name“ Ihres Gerätes ist anders als Sie glauben – oder Sie haben mehrere *.xml Dateien, die für diesen Joystick-Namen Definitionen enthalten!
*Wird ein falscher Joystick angezeigt? → Beim Starten sucht FlightGear im Verzeichnis (und Unterverzeichnissen von) FG_ROOT/Input/joysticks nach einer *.xml-Datei die die Zeile <name>IhrGeräteName</name> enthält. Wenn also ein falscher Joystick angezeigt wird steht diese Zeile in einer falschen Datei – oder der „Name“ Ihres Gerätes ist anders als Sie glauben – oder Sie haben mehrere *.xml Dateien, die für diesen Joystick-Namen Definitionen enthalten!
*Suchen und Korrigieren Sie die Steuerungs-Dateien im Verzeichnis FG_ROOT/Input/joysticks durch hinzufügen/entfernen der Zeile <name>IhrGeräteName</name>. Falls Sie dort keine passende XML-Steuerdatei finden starten Sie mit Kapitel 2.5.2 Erstellen oder Ändern einer XML-Steuerdatei für Ihren Joystick.
**Suchen und Korrigieren Sie die Steuerungs-Dateien im Verzeichnis FG_ROOT/Input/joysticks durch hinzufügen/entfernen der Zeile <name>IhrGeräteName</name>. Falls Sie dort keine passende XML-Steuerdatei finden starten Sie mit nachfolgenden Kapitel "Erstellen oder Ändern einer XML-Steuerdatei für Ihren Joystick".
*Ansonsten starten Sie mit Kapitel 2.5.1.a Überprüfen ob der Joystick vom PC erkannt wird
**Ansonsten starten Sie mit dem nächsten Kapitel.


#Sind einige Zuordnungen nicht wie gewünscht editieren Sie die gewünschte Steuerungs-Datei. Siehe das folgende Kapitel.
*Sind einige Zuordnungen nicht wie gewünscht editieren Sie die gewünschte Steuerungs-Datei. Siehe das folgende Kapitel.


===Überprüfen ob der Joystick vom PC erkannt wird===
===Überprüfen ob der Joystick vom PC erkannt wird===
Falls Sie den Joystick schon im FlightGear Menü “Hilfe” → “Joystick Informationen” gesehen haben, wurde er erkannt und Sie können mit dem nächsten Kapitel fortfahren.
Falls Sie den Joystick schon im FlightGear Menü ''“Hilfe” → “Joystick Informationen”'' gesehen haben, wurde er erkannt und Sie können mit dem nächsten Kapitel fortfahren.
Ansonsten starten Sie Ihren PC (natürlich mit angeschlossenem Joystick!!) und verifizieren Sie, ob der PC den Joystick erkennt und ob er funktioniert. In diesen ersten Tests wird nur die Kommunikation zwischen PC, Betriebssystem, Geräte-Treiber und Joystick getestet.
<br><br>Ansonsten starten Sie Ihren PC (natürlich mit angeschlossenem Joystick!!) und verifizieren Sie, ob der PC den Joystick erkennt und ob er funktioniert. In diesen ersten Tests wird nur die Kommunikation zwischen PC, Betriebssystem, Geräte-Treiber und Joystick getestet.
Zum Testen des Erkennens durch den PC selbst, gehen Sie folgendermaßen vor:
<br><br>Zum Testen des Erkennens durch den PC selbst, gehen Sie folgendermaßen vor:
<br>
====Für Windows:====
====Für Windows:====
*Öffnen Sie Start → Einstellungen → Systemsteuerung → Gamecontroller  
*Öffnen Sie Start → Einstellungen → Systemsteuerung → Gamecontroller  
Line 43: Line 45:
*Doppelklicken Sie auf den angezeigten Joystick → damit öffnet sich bei den meisten Geräten ein Fenster in dem Sie schon alle (im Geräte-Treiber definierten) Funktionen testen können
*Doppelklicken Sie auf den angezeigten Joystick → damit öffnet sich bei den meisten Geräten ein Fenster in dem Sie schon alle (im Geräte-Treiber definierten) Funktionen testen können
*Beachten Sie dabei, dass die Bezeichnungen innerhalb Windows anders sein können als Sie sie später für den FlightGear benötigen. z.B. könnten Regler in Windows als „Z-Ac“ und „X-Ro.“ etc. bezeichnet werden, für die Sie später die Bezeichnungen „axis 0“, „axis 1“ etc. benötigen. Falls bei der benötigten Zuordnung Zweifel bestehen, führen Sie auf jeden Fall auch den Test im nachfolgende Kapitel 2.5.1.b js_demo: Testen & Zuordnen der Joystick-Funktionen durch.
*Beachten Sie dabei, dass die Bezeichnungen innerhalb Windows anders sein können als Sie sie später für den FlightGear benötigen. z.B. könnten Regler in Windows als „Z-Ac“ und „X-Ro.“ etc. bezeichnet werden, für die Sie später die Bezeichnungen „axis 0“, „axis 1“ etc. benötigen. Falls bei der benötigten Zuordnung Zweifel bestehen, führen Sie auf jeden Fall auch den Test im nachfolgende Kapitel 2.5.1.b js_demo: Testen & Zuordnen der Joystick-Funktionen durch.
 
<br>
====Für Linux:====
====Für Linux:====
*Öffnen Sie ein Befehlsfenster und geben Sie ein: dmesg | grep Joystick  
*Öffnen Sie ein Befehlsfenster und geben Sie ein: dmesg | grep Joystick  
<br><small>(Achten Sie auf den senkrechten Strich in der Mitte, auf deutschen Tastaturen: „AltGr“ + „<“)</small>
:<small>(Achten Sie auf den senkrechten Strich in der Mitte, auf deutschen Tastaturen: „AltGr“ + „<“)</small>
*die Antwort sollte ähnlich sein wie: [ 16.481211] generic-usb 0003:06A3:075C.0001: input,hidraw0: USB HID v1.11 Joystick [Saitek Saitek X52 Flight Control System] on usb-0000:00:02.0-4/input0
*die Antwort sollte ähnlich sein wie: [ 16.481211] generic-usb 0003:06A3:075C.0001: input,hidraw0: USB HID v1.11 Joystick [Saitek Saitek X52 Flight Control System] on usb-0000:00:02.0-4/input0
*Merken Sie sich insbesondere den Namen in [ ]! Und wunderen Sie sich nicht über das 2*“Saitek“ – so heißt er nun mal und so meldet er sich am System an – und wenn Sie bei der Benutzung des Namens ein “Saitek“ weglassen funktioniert nix mehr!
*Merken Sie sich insbesondere den Namen in [ ]! Und wunderen Sie sich nicht über das 2*“Saitek“ – so heißt er nun mal und so meldet er sich am System an – und wenn Sie bei der Benutzung des Namens ein “Saitek“ weglassen funktioniert nix mehr!
*Falls OK: weiter mit: 2.5.1.b
*Falls OK: weiter mit: 2.5.1.b
 
<br>
====Für Mac OS X:====
====Für Mac OS X:====
Ich kennen keine Mac OS X Routine die die Hardware mit dem Joystick anzeigt – somit gehen Sie bitte direkt zu 2.5.1.b
Ich kennen keine Mac OS X Routine die die Hardware mit dem Joystick anzeigt – somit gehen Sie bitte direkt zum nächsten Katpitel
 
<br>
<br>Falls Probleme aufgedeckt wurden, sind dies reine System-interne Problem! Diese hätten absolut NICHTS mit der FlightGear-Installation zu tun! Auch andere Spiele etc. dürften nicht funktionieren! Sehen Sie in den Foren nach ob über Ihren Joystick im Zusammenhang mit Ihrem PC und/oder Betriebssystem Meldungen vorliegen. Oder fragen Sie Ihren Händler. Eventuell können Sie auch einen „neueren“ Geräte-Treiber für den Joystick aus dem Internet herunterladen und installieren. Der Fehler ist jedenfalls rein System-intern, und steht nicht im Zusammenhang mit der FlightGear - Installation!  
Falls Probleme aufgedeckt wurden, sind dies reine System-interne Problem! Diese hätten absolut NICHTS mit der FlightGear-Installation zu tun! Auch andere Spiele etc. dürften nicht funktionieren! Sehen Sie in den Foren nach ob über Ihren Joystick im Zusammenhang mit Ihrem PC und/oder Betriebssystem Meldungen vorliegen. Oder fragen Sie Ihren Händler. Eventuell können Sie auch einen „neueren“ Geräte-Treiber für den Joystick aus dem Internet herunterladen und installieren. Der Fehler ist jedenfalls rein System-intern, und steht nicht im Zusammenhang mit der FlightGear - Installation!  
<br>
===js_demo: Testen & Zuordnen der Joystick-Funktionen===
===js_demo: Testen & Zuordnen der Joystick-Funktionen===
Hier verlassen wir also die reine System-Anbindung des Joysticks, und testen diesen selbst im System-Umfeld – wiederum erst mal ohne FlightGear!  
Hier verlassen wir also die reine System-Anbindung des Joysticks, und testen diesen selbst im System-Umfeld – wiederum erst mal ohne FlightGear!  
 
<br><br>
<br>Dies ist zugegebener Maßen der komplexeste und langwierigste Teil dieser ganzen Angelegenheit - aber auch der am meisten benötigte, wenn Sie eine bestehende XML-Steuerdatei ändern wollen! Denn hier ermitteln Sie nicht nur, ob eine „Axis“ oder ein „Button“ funktioniert – Sie erfahren auch die genaue Bezeichnung dafür – denn diese Bezeichnungen müssen Sie genau wissen wenn Sie die XML-Steuerdatei erstellen oder ändern wollen!
Dies ist zugegebener Maßen der komplexeste und langwierigste Teil dieser ganzen Angelegenheit - aber auch der am meisten benötigte, wenn Sie eine bestehende XML-Steuerdatei ändern wollen! Denn hier ermitteln Sie nicht nur, ob eine „Axis“ oder ein „Button“ funktioniert – Sie erfahren auch die genaue Bezeichnung dafür – denn diese Bezeichnungen müssen Sie genau wissen wenn Sie die XML-Steuerdatei erstellen oder ändern wollen!
 
<br><br>
<br>Es gibt zu eben Gesagtem eine einzige Ausnahme: Für Linux können Sie auch das Zusatzprogramm jstest benutzen (siehe nachfolgendes Kapitel). jstest ist etwas einfacher zu handhaben – aber eben nur für Linux verfügbar – und damit könnten Sie Verständigungs-Probleme bekommen wenn Sie Freunde um Rat fragen!
Es gibt zu eben Gesagtem eine einzige Ausnahme: Für Linux können Sie auch das Zusatzprogramm jstest benutzen (siehe nachfolgendes Kapitel). jstest ist etwas einfacher zu handhaben – aber eben nur für Linux verfügbar – und damit könnten Sie Verständigungs-Probleme bekommen wenn Sie Freunde um Rat fragen!
 
<br><br>
<br>Starten Sie das Programm „js_demo“ wie folgt:
Starten Sie das Programm „js_demo“ wie folgt:
*'''Für Windows:'''
*'''Für Windows:'''
**Öffnen Sie Ihren „Explorer“ (rechter Mausklick auf Start → Explorer)
**Öffnen Sie Ihren „Explorer“ (rechter Mausklick auf Start → Explorer)
Line 72: Line 75:
*'''Für Mac OS X:'''
*'''Für Mac OS X:'''
**Öffnen Sie die Terminal.app (/Applications/Utilities/)  
**Öffnen Sie die Terminal.app (/Applications/Utilities/)  
**wechseln Sie in das Verzeichnis:  
**wechseln Sie in das Verzeichnis: '''"cd /Applications/FlightGear.app/Contents/Resources"'''
:::$ cd /Applications/FlightGear.app/Contents/Resources
**und geben ein: $ '''./js_demo'''
**und geben ein: $ '''./js_demo'''
 
<br><br>
<br>'''„js_demo“ erzeugt dann eine „aktive“ Liste ähnlich dem Folgenden:'''
'''„js_demo“ erzeugt dann eine „aktive“ Liste ähnlich dem Folgenden:'''
<small>(„aktiv“: die Werte in der Darstellung ändern sich, wenn Sie Regler und/oder Schalter an Ihrem Joystick bewegen!)</small>
<br><small>(„aktiv“: die Werte in der Darstellung ändern sich, wenn Sie Regler und/oder Schalter an Ihrem Joystick bewegen!)</small>
{| border=1
{| border=1
|-
|-
Line 100: Line 102:
*Bewegen Sie Ihre Regler und beobachten Sie die Werte in der Zeile unterhalb der „Ax:n“-Werte. Diese Werte ändern sich entsprechend Ihrer Bewegung zwischen -1.0 und +1.0. Merken Sie sich welche Ax:n mit welchem Regler geändert wird. Diese Nummer benötigen Sie später in der XML-Steuerdatei. Am Besten schreiben Sie es gleich auf und fügen auch gleich hinzu, welche Funktion (Querruder, Seitenruder, etc.) sie dieser Achse zuteilen wollen.
*Bewegen Sie Ihre Regler und beobachten Sie die Werte in der Zeile unterhalb der „Ax:n“-Werte. Diese Werte ändern sich entsprechend Ihrer Bewegung zwischen -1.0 und +1.0. Merken Sie sich welche Ax:n mit welchem Regler geändert wird. Diese Nummer benötigen Sie später in der XML-Steuerdatei. Am Besten schreiben Sie es gleich auf und fügen auch gleich hinzu, welche Funktion (Querruder, Seitenruder, etc.) sie dieser Achse zuteilen wollen.
*Unterhalb des „Btns“ sehen Sie die Zahl „800000“ - diese zeigt die Aktionen der binären Taster an. Beim Drücken einer Taste wird eine der „0“en durch eine Zahl ersetzt. Dies sind allerdings binäre Zahlen die hexadezimal verschlüsselt sind: Also (sogar für EDV-Leute verwirrend!):
*Unterhalb des „Btns“ sehen Sie die Zahl „800000“ - diese zeigt die Aktionen der binären Taster an. Beim Drücken einer Taste wird eine der „0“en durch eine Zahl ersetzt. Dies sind allerdings binäre Zahlen die hexadezimal verschlüsselt sind: Also (sogar für EDV-Leute verwirrend!):
{| border=1
::{| border=1
|-
|-
||''''Code = Btn.''''||''''Code = Btn.''''
||''''Code = Btn.''''||''''Code = Btn.''''
Line 135: Line 137:
*Und vergewissern Sie sich dass ALLE Knöpfe, Regler, Schalter etc. Ihres Joysticks in oben gezeigter Liste eine Auswirkung haben!!
*Und vergewissern Sie sich dass ALLE Knöpfe, Regler, Schalter etc. Ihres Joysticks in oben gezeigter Liste eine Auswirkung haben!!


<br>Wie schon oben gesagt: Es gibt keinen anderen, einfacheren Weg um die Zuordnung der vom PC-erkannten Joystick-Codes für FlightGear zu eruieren! Zusätzlich müssen Sie beachten, dass die verschiedenen Betriebssystem für einige Joystick-Funktionen unterschiedliche Codes erkennen können. Falls Sie also stolzer Besitzer mehrere PC's mit unterschiedlichen Betriebssystemen sind (oder Ihre XML-Datei an andere verteilen wollen), müssen Sie diese Prozedur evtl. mehrmals durchlaufen! Mehr dazu im Kapitel ===Erstellen oder Ändern einer XML-Steuerdatei für Ihren Joystick.===
<br>Wie schon oben gesagt: Es gibt keinen anderen, einfacheren Weg um die Zuordnung der vom PC-erkannten Joystick-Codes für FlightGear zu eruieren! Zusätzlich müssen Sie beachten, dass die verschiedenen Betriebssystem für einige Joystick-Funktionen unterschiedliche Codes erkennen können. Falls Sie also stolzer Besitzer mehrere PC's mit unterschiedlichen Betriebssystemen sind (oder Ihre XML-Datei an andere verteilen wollen), müssen Sie diese Prozedur evtl. mehrmals durchlaufen! Mehr dazu im Kapitel  
 
===Erstellen oder Ändern einer XML-Steuerdatei für Ihren Joystick.===
====jstest: (nur Linux) Testen & Zuordnen der Joystick-Funktionen====
====jstest: (nur Linux) Testen & Zuordnen der Joystick-Funktionen====
Die meisten Linux-Systeme bieten eine zusätzliche Anwendung zur Anzeige der Achsen und Tasten: „jstest“. Diese Anwendung hat den Vorteil, dass Achsen und Tasten mit Ihren direkten Codes angezeigt werden. z.B.:
Die meisten Linux-Systeme bieten eine zusätzliche Anwendung zur Anzeige der Achsen und Tasten: „jstest“. Diese Anwendung hat den Vorteil, dass Achsen und Tasten mit Ihren direkten Codes angezeigt werden. z.B.:
Line 141: Line 145:
|-
|-
||
||
<nowiki>~$ jstest /dev/input/js0  
~$ jstest /dev/input/js0  
Driver version is 2.1.0.  
<br>Driver version is 2.1.0.  
Joystick (Saitek Saitek X52 Flight Control System) has 11 axes (X, Y, Z, Rx, Ry, Rz, Throttle, Hat0X, Hat0Y, (null), (null))  
<br>Joystick (Saitek Saitek X52 Flight Control System) has 11 axes (X, Y, Z, Rx, Ry, Rz, Throttle, Hat0X, Hat0Y, (null), (null))  
and 34 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, BtnDead, BtnA, BtnB, BtnC, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null)).  
<br>and 34 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, BtnDead, BtnA, BtnB, BtnC, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null)).  
Testing ... (interrupt to exit)  
<br><br>Testing ... ('''interrupt to exit''')  
Axes: 0: -86 1: -43 2: 32767 3:-32767 4:-32767 5: 85 6:-32767 7: 0 8: 0 9: 4681 10: 4681 Buttons: 0:off 1:off 2:off 3:on 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off 12:off 13:off 14:off 15:off  
<br><br>'''Axes:''' 0: -86 1: -43 2: 32767 3:-32767 4:-32767 5: 85 6:-32767 7: 0 8: 0 9: 4681 10: 4681
Axes: 0: -86 1: -43 2: 32767 3:-32767 4:-32767 5: 85 6:-32767 7: 0 8: 0 9: 4681 10: 4681 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off 12:off 13:off 14:off 15:off</nowiki>
<br>'''Buttons:''' 0:off 1:off 2:off '''3:on''' 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off 12:off 13:off 14:off 15:off  
<br><br>'''Axes:''' 0: -86 1: -43 2: 32767 3:-32767 4:-32767 5: 85 6:-32767 7: 0 8: 0 9: 4681 10: 4681
<br>Buttons: 0:off 1:off 2:off '''3:off''' 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off 12:off 13:off 14:off 15:off</nowiki>
|}
|}


Line 155: Line 161:


<br>Die Listen-Darstellung ist auch hier etwas „ingenieurmäßig verklausuliert“ – aber zumindest sehen Sie hier direkt und ohne Umrechnungen welche Nummer zu welcher Achse/Taste gehört! Merken Sie sich diese Zuordnungen – diese benötigen Sie wenn Sie anschließend Ihre eigene „*.xml“ schreiben oder ändern wollen.
<br>Die Listen-Darstellung ist auch hier etwas „ingenieurmäßig verklausuliert“ – aber zumindest sehen Sie hier direkt und ohne Umrechnungen welche Nummer zu welcher Achse/Taste gehört! Merken Sie sich diese Zuordnungen – diese benötigen Sie wenn Sie anschließend Ihre eigene „*.xml“ schreiben oder ändern wollen.
====Installation / Benutzung des „jstest“:====
====Installation / Benutzung des „jstest“:====
Dieses Programm ist nicht Bestandteil des FlightGear, sondern kann für die meisten Linux-Systeme zusätzlich installiert werden. Wenn Sie also ein Linux-System haben, öffnen Sie ein Befehlsfenster und geben einfach „jstest“ ein – dann können mehrere Reaktionen erfolgen:
Dieses Programm ist nicht Bestandteil des FlightGear, sondern kann für die meisten Linux-Systeme zusätzlich installiert werden. Wenn Sie also ein Linux-System haben, öffnen Sie ein Befehlsfenster und geben einfach „jstest“ ein – dann können mehrere Reaktionen erfolgen:
Line 161: Line 168:
#Es erscheint eine Benachrichtigung, wie etwa: „Der Befehl 'jstest' ist nicht installiert – Sie können ihn mit folgendem Befehl herunterladen und installieren: ….“. Geben Sie dann genau den vorgeschlagenen Befehl ein und folgen den Anweisungen – und wiederholen dann ab Punkt 1!
#Es erscheint eine Benachrichtigung, wie etwa: „Der Befehl 'jstest' ist nicht installiert – Sie können ihn mit folgendem Befehl herunterladen und installieren: ….“. Geben Sie dann genau den vorgeschlagenen Befehl ein und folgen den Anweisungen – und wiederholen dann ab Punkt 1!
#Es erscheint einfach: „Befehl unbekannt“. Dann können Sie noch versuchen dieses Progrämmchen von irgendwo sonst zu erhalten – aber dazu sollten Sie sich dann schon etwas auskennen! Wie gesagt: Es ist nicht Bestandteil des FlightGear!
#Es erscheint einfach: „Befehl unbekannt“. Dann können Sie noch versuchen dieses Progrämmchen von irgendwo sonst zu erhalten – aber dazu sollten Sie sich dann schon etwas auskennen! Wie gesagt: Es ist nicht Bestandteil des FlightGear!
===Erstellen oder Ändern einer XML-Steuerdatei für Ihren Joystick===
===Erstellen oder Ändern einer XML-Steuerdatei für Ihren Joystick===
An dieser Stelle wissen Sie nun, dass Ihr PC und Ihr Betriebssystem Ihren Joystick erkannt haben und auch ein entsprechender Gerätetreiber installiert ist und funktioniert. Zudem wissen Sie wie die Regler, Taste etc. systemintern benannt sind. Somit können Sie nun definieren welche Regler und Tasten während des Fliegens was bewirken sollen. Mit all dem nun erworbenen Wissen können Sie jetzt eine völlig neue XML-Steuerdatei schreiben – ABER: Da ich persönlich schon immer faul war, ziehe ich es vor eine bestehende Datei quasi als „Template“ (=Vorlage) zu nehmen und meinen Wünschen entsprechend abzuändern.  
An dieser Stelle wissen Sie nun, dass Ihr PC und Ihr Betriebssystem Ihren Joystick erkannt haben und auch ein entsprechender Gerätetreiber installiert ist und funktioniert. Zudem wissen Sie wie die Regler, Taste etc. systemintern benannt sind. Somit können Sie nun definieren welche Regler und Tasten während des Fliegens was bewirken sollen. Mit all dem nun erworbenen Wissen können Sie jetzt eine völlig neue XML-Steuerdatei schreiben – ABER: Da ich persönlich schon immer faul war, ziehe ich es vor eine bestehende Datei quasi als „Template“ (=Vorlage) zu nehmen und meinen Wünschen entsprechend abzuändern.  
Line 177: Line 185:
*Als Nachschlagewerke empfehlen sich alle xml-Steuerdateien im Verzeichnis FG_ROOT/Input/Joysticks/ und die README: FG_ROOT/Docs/README.commands.
*Als Nachschlagewerke empfehlen sich alle xml-Steuerdateien im Verzeichnis FG_ROOT/Input/Joysticks/ und die README: FG_ROOT/Docs/README.commands.
*'''Beachten Sie:''' Die Nummerierung der Achsen und Tasten kann zwischen den Betriebssystemen durchaus unterschiedlich sein! Wenn Sie also der glückliche Besitzer zweier PCs mit unterschiedlichen Betriebssystemen sind, können Sie dies berücksichtigen indem Sie nicht nur die erste Zeile <axis n="6"> definieren sondern dazu noch die entsprechende Nummer für andere Betriebssysteme. z.B.:
*'''Beachten Sie:''' Die Nummerierung der Achsen und Tasten kann zwischen den Betriebssystemen durchaus unterschiedlich sein! Wenn Sie also der glückliche Besitzer zweier PCs mit unterschiedlichen Betriebssystemen sind, können Sie dies berücksichtigen indem Sie nicht nur die erste Zeile <axis n="6"> definieren sondern dazu noch die entsprechende Nummer für andere Betriebssysteme. z.B.:
{| border=1
::{| border=1
|-
|-
||<nowiki>
||
<axis n="6">  
<axis n="6">  
<number>  
&nbsp;<number>  
<unix>7</unix>  
&nbsp;&nbsp;<unix>7</unix>  
<mac>6</mac>  
&nbsp;&nbsp;<mac>6</mac>  
<windows>6</windows>  
&nbsp;&nbsp;<windows>6</windows>  
</number>
&nbsp;</number>
u.s.w.
&nbsp;&nbsp;<small>...u.s.w.</small>
</axis></nowiki>
</axis>
|}
|}
*Die Reihenfolge der einzelnen Axis- und Buttons-Blöcke ist absolut beliebig. Es ist aber SEHR empfehlenswert systematisch vorzugehen, damit Sie sich später noch zurechtfinden. Es kann sehr schnell sehr unübersichtlich werde!
*Die Reihenfolge der einzelnen Axis- und Buttons-Blöcke ist absolut beliebig. Es ist aber SEHR empfehlenswert systematisch vorzugehen, damit Sie sich später noch zurechtfinden. Es kann sehr schnell sehr unübersichtlich werde!
====„fgjs“: Erstellen einer neuen Template====
====„fgjs“: Erstellen einer neuen Template====
Wie bereits vorstehend gesagt können Sie sich vom System eine neue, auf Ihren PC mit Ihrem Joystick passende XML-Steuerdatei generieren lassen. Das FlightGear Zusatzprogramm „fgjs“ (bzw. unter Windows „fgjs.exe“) tut genau dies für Sie, ohne dass Sie wissen müssen welcher Regler oder Taste welchen „Namen“ hat. Das Programm „fgjs“
Wie bereits vorstehend gesagt können Sie sich vom System eine neue, auf Ihren PC mit Ihrem Joystick passende XML-Steuerdatei generieren lassen. Das FlightGear Zusatzprogramm „fgjs“ (bzw. unter Windows „fgjs.exe“) tut genau dies für Sie, ohne dass Sie wissen müssen welcher Regler oder Taste welchen „Namen“ hat. Das Programm „fgjs“
652

edits

Navigation menu