HOTAS Cougar Control Panel (CCP) Manual

Transcrição

HOTAS Cougar Control Panel (CCP) Manual
THRUSTMASTER
HOTAS COUGAR
REFERENZ-BUCH
THRUSTMASTER
ZUR ÜBERSETZUNG
Geschafft!
Das folgende Referenz-Buch ist eine 1:1-Übersetzung des englischen Originals.
Ich habe versucht, die meisten englischen Begriffe so gut es eben geht mit zu
übersetzen; dies mag mitunter gewöhnungsbedürftig erscheinen (Was ist ein „Button“
– ein Knopf, ein Schalter, eine Joystick-Taste? Mal so, mal so, je nach
Zusammenhang... und ein „Toggle“ ist auch ein Schalter – was nun? Ein „Flag“ ist
natürlich keine „Fahne“, aber „Marker“ klingt irgendwie... krumm, und eigentlich verhält
es sich ja – hoppla – auch wie ein Schalter... Wo ist übrigens der „Aus“-Schalter?!),
schien mir aber zum besseren Verständnis sinnvoll (für all’ jene, die ihr Englisch nicht
von Shakespear, sondern von Hugh Hefner ! gelernt haben...).
Wenn also von „ich“ und „wir“ die Rede ist, ist damit der Verfasser des jeweiligen
Kapitels bzw. das Cougar-Team gemeint, nicht meine Wenigkeit (den Pluralis
Majestatis würde ich mir auch nicht anmaßen), es sei denn, es handelt sich um eine
der wenigen speziell gekennzeichneten Anmerkungen des Übersetzers.
Im Allgemeinen habe ich allerdings auf jegliche Kommentierung verzichtet, auch wenn
vielleicht der eine oder andere Punkt etwas anders oder einfacher oder genauer hätte
erklärt werden können; insgesamt ist dieses Referenz-Buch schlicht und einfach das
umfangreichste und ausführlichste, was jemals mit einem Joystick ausgeliefert wurde
– wie eben der Cougar die absolute Referenz und den Maßstab des technisch
Möglichen darstellt, weit jenseits dessen, was für andere Hersteller üblich oder
machbar ist.
Als langjähriger Thrustmaster-Veteran ! spreche ich aus Erfahrung: mein mittlerweile
über 8 Jahre alter, aller erster Thrustmaster-Joystick, ein F-16 FLCS (mit Bob
Church’s digitalem Chipsatz aufgerüstet, also nun ein SWF22) mit der Schubkontrolle
TQS und den großen RCS-Ruderpedalen, funktioniert wie am ersten Tag (...mal
ehrlich: wie viele Generationen von anderen Joysticks habt Ihr seitdem das Zeitliche
segnen sehen?) – aus Plastik, wohlgemerkt, und der HOTAS Cougar ist komplett aus
Metall: was Ihr feuchten Auges in Händen haltet, könnte sich zum echten
Familienerbstück entwickeln...
Also, keine Angst: dieses Referenz-Buch ist nicht deshalb so umfangreich, weil der
Cougar so kompliziert zu bedienen wäre, sondern im Gegenteil:: um Euch auch
wirklich jede denkbare Frage zum Cougar leicht verständlich und doch ausführlich zu
beantworten, und zwar nicht als reine Funktions-Übersicht, sondern eher als
„Lehrbuch“ (allerdings überhaupt nicht „trocken“).
HOTAS Cougar Reference Book
2
THRUSTMASTER
DANKE
also an alle Beteiligten, die diesen – nicht nur ihren, auch meinen und Euren – Traum
haben wahr werden lassen: die Auferstehung einer – der – Legende, strahlender als
jemals zuvor! Im speziellen natürlich an Guillaume „Dimebug“ Lelevé, der ganz
unschuldig anfragte, ob ich „vielleicht Interesse an der Übersetzung der CougarHandbücher ins Deutsche haben könnte“, und James „Nutty“ Hallows, der nach
Jahren unermüdlicher „ehrenamtlicher“ Arbeit zugunsten DOS-geschädigter
Schubmeister ! dem Kätzchen eine ebenbürtige Benutzeroberfläche auf den Leib
geschneidert hat, sowie Mark „The Moon“ Mooney und David „The Block“ Block, die
die undankbare Aufgabe, die Träumereien der oben genannten Phantasten in die
Wirklichkeit umzusetzen, mit Bravour gemeistert haben – ich hatte seit Mai genügend
Zeit, wirklich zu glauben, was Ihr in diesem Referenz-Buch finden werdet...
Also, krault das Kätzchen und lasst es schnurren – und zeigt allen anderen seine
Krallen...
Muckelangelo’s „Creati HOTAS“ ©2001-2002
Ulf „Don ULFonso“ Muckel
http://www.Thrustmaster-X-Files.de/
April 2002
HOTAS Cougar Referenz – Buch
3
THRUSTMASTER
EINLEITUNG
Willkommen!
Nun, zu aller erst, GRATULATION und DANKE für die Investition in den Thrustmaster
HOTAS Cougar! Der massive, leistungsfähige und präzise Controller, den Du nun in
Händen hältst, ist das stolze Resultat einer vollen zweijährigen Entwicklungszeit voller
engagierter, zielgerichteter Studien und Forschung, geleitet vom schlichten Wunsch,
einen – den – innovativen Simulations-Spielcontroller zu schaffen, der allen
Erwartungen selbst der forderndsten Spieler gerecht würde. Und hier ist er – der
stolze Erbe der FLCS and F-22 PRO Serie! Und wenn schon die Herausforderung,
einen solchen würdigen Nachfolger der bisherigen Serie zu entwickeln, allen
Beteiligten viel Spaß bereitete, war die erfolgreiche Umsetzung der Wiedergeburt
einer Legende wesentlich mehr als... ähem, herausfordernd – und das ist noch
untertrieben!
Als dieses verrückte Projekt begann, fand sich Thrustmaster vor zwei Möglichkeiten:
die existierenden Sticks einfach zu modernisieren und ihre bestehenden Funktionen
zu bewahren und zu erweitern, oder komplett neu zu beginnen und ein vollkommen
verbessertes Produkt zu entwickeln. Offensichtlich hat Thrustmaster durch die Wahl
der letzteren Möglichkeit auch beschlossen, den denkbar härtesten möglichen Weg zu
gehen. Aus welchen unvorstellbaren Gründen? Ganz einfach – wann immer
Thrustmaster zuvor beschlossen hatte, einen neuen HOTAS Controller erscheinen zu
lassen, sollte dieser Joystick immer auch die Qualität erneut auf ein höheres Niveau
heben und jede Meßlatte weit jenseits dessen ansiedeln, was die jeweils derzeitigen
Standards zu bieten hatten – kurz, mit dem HOTAS Cougar war die Zeit einfach reif
für eine Neudefinition dessen, was ein wirklicher Spitzenklasse-Joystick sei.
Das Resultat von endlosen Sitzungen und schlaflosen Nächten ist nun dieser hochrealistische, unglaublich vielseitige und anpassungsfähige und höchst leistungsfähige
Controller – mit seiner erstaunlichen Vielfalt bislang unerreichter Funktionen, wie
austauschbare Griffe, fortschrittlicher (und trotzdem einfacher) Programmierung,
kinderleichtem Plug’n’Play-Anschluß, der Anzahl (und dem Gewicht) der Metallteile,
die den HOTAS Cougar ohne jeden Zweifel zu einer lohnenden Anschaffung für viele
kommende Jahre machen.
Es ist darüber hinaus auch ein Erfolg für die gesamte Simulationen liebende
Spielergemeinschaft – dieses Meisterwerk ist kein billiger, einfacher, leichtgewichtiger
Joystick für die alten Arcade-Automaten, sondern ein außergewöhnlicher,
hochmoderner Nachbau der Flugkontrollen der F-16, für alle die, die nichts als das
Beste verlangen – in der Tat der ultimative Spitzenklasse-Flugsteuerknüppel, der nicht
nur gegnerische, sondern alle Spieler wünschen lassen wird, sie hätten sich doch
vielleicht besser zum Bodenpersonal gemeldet!
HOTAS Cougar Referenz – Buch
4
THRUSTMASTER
Natürlich hätte diese Bestie niemals das Tageslicht erblickt, ohne all die Unterstützung
und Ermutigung, die wir von allen möglichen Leuten bekamen, die wir auf
Ausstellungen trafen, die mit uns in den Foren und per E-Mail diskutiert haben –
daher, an Euch alle da draußen, danke für Eure Unterstützung! Und lasst uns nicht
diejenigen Leute vergessen, die in der Tat unseren besonderen Dank verdienen; zu
aller erst die Angestellten von Thrustmaster/Guillemot, die an diesem Projekt
gearbeitet haben, und die Beta-Tester, die großartige Arbeit geleistet haben, alle diese
Fehler auszumerzen, und unter Gefahr für Leib und Leben mit diesem gefährlichen
Gerät herum experimentiert haben … Außerdem, danke an unsere Freunde und
Familien, die die ganze Zeit mit uns gefiebert haben!
OK, genug der Sentimentalitäten, zurück zur Wirklichkeit!
Falls Ihr mit den bisherigen Produkten der Thrustmaster Flugsimulations-Controller
bereits vertraut seid, werdet Ihr ob der Fähigkeiten des HOTAS Cougar erstaunt sein –
und Euch gleichzeitig auch wieder zu Hause fühlen. Tatsächlich mögen einige
Funktionen bekannt erscheinen, aber lasst Euch nicht auf den Holzweg führen – es ist
alles neu, und als erfahrene Flugsimulations-Fans werdet Ihr, besser als irgendwer
sonst, diejenigen sein, die unsere harte Arbeit und die unerhörten neuen
Möglichkeiten wirklich zu würdigen wissen.
Mit dieser Neuerscheinung haben wir alle Punkte überarbeitet und verbessert – die
Mechanik, die Elektrik, und die Software. Während es nicht weiter schwierig war, die
immerhin sieben Jahre alte Bedienerführung Benutzer-freundlicher zu gestalten,
haben wir beschlossen, jedem Spieler da draußen, auch Anfängern, eine Möglichkeit
zu bieten, auch wirklich alles aus diesen umfangreichen Möglichkeiten zu holen.
Tatsächlich hat erst Microsoft Windows HID-konforme Controller ermöglicht –
Plug’n’Play Joysticks, die keinerlei spezielle Konfiguration benötigen, um zu
funktionieren. Nun, das ist genau, was der HOTAS Cougar zu bieten hat – einfach
anschließen und loslegen … es ist tatsächlich so einfach.
Tja, tolle Neuigkeiten – allerdings erwarten eine Menge von Euch, die den HOTAS
Cougar eben wegen seiner versprochenen fortschrittlichen ProgrammierungsMöglichkeiten erworben haben, eine Menge mehr von uns als lediglich einen
großartigen Controller. Ohren und Augen auf – hier kommt’s! Zusätzlich zur
unerreichten Präzision bietet der HOTAS Cougar die gleichen ProgrammierFunktionen wie schon der F-22… und viele, viele mehr, wie Ihr beim Lesen dieses
Referenz-Buchs feststellen werdet. Diese Programmier-Möglichkeiten, die im
folgenden erklärt werden, sind in der Tat so mächtig und umfassend, dass sie Euch
ermöglichen werden, nicht nur jedes Eurer Programme dahingehend zu optimieren,
das Beste aus jedem Spiel zu machen, sondern sogar Fehler oder fehlende
Funktionen in einer Simulation zu korrigieren. Also, der beste Weg, diese
Möglichkeiten zu entdecken und zu lernen (ohne starke Migräne oder durch Code
verursachte Albträume, natürlich), ist, sich sorgfältig und aufmerksam durch dieses
literarische Meisterwerk zu schmökern und sich die nötige Zeit zu nehmen und sich zu
fragen “OK, was soll ich also jetzt wohl damit anfangen?”
HOTAS Cougar Referenz – Buch
5
THRUSTMASTER
Wie bereits erklärt, betrachten wir diese Dokumentation eher als „Referenz-Buch“
denn als schlichtes „Handbuch“. Jeder, der noch die alten Handbücher für F-16 FLCS,
TQS und F-22 PRO in Erinnerung hat, wird den Unterschied begrüßen. Es enthält alles,
was man wissen muss, vom Anschluss der Controller über die Einrichtung mittels des CCP
bis zur Programmierung, angefangen bei den Grundlagen bis hin zu detaillierten
Informationen zu jedem Aspekt der Programmierbefehle, die den HOTAS Cougar deutlich
von anderen programmierbaren Joysticks abheben. Zur Unterstützung dieses ReferenzBuchs und Vertiefung finden sich ausführliche Hilfe-Dateien, Assistenten, Schulungen und
andere nützliche und intuitive Anwendungen innerhalb der Programme zum HOTAS
Cougar. Dies ist unserer Meinung nach die bisher umfassendste und umfangreichste
Dokumentation, die jemals mit einem Controller ausgeliefert wurde.
Macht Euch allerdings keine falschen Vorstellungen hinsichtlich des HOTAS Cougar und
seines Referenz-Buchs – dies ist ein echter Spitzenklasse-Controller. Und dieses
Referenz-Buch hat Abschnitte und Themen, die Ihr mehr als einmal lesen werdet. Doch
einer der Gründe für den Umfang dieses Handbuchs ist eben die Erkenntnis, dass die
bisherigen Handbücher für die älteren TM Joysticks als zu kurz empfunden wurden und der
Start daher als zu schwierig. Gerade deshalb soll diese Handbuch sehr einfach zu lesen
sein und alles langsam und einfach einführen. Es ist übersichtlich für alle, die lediglich einen
groben Überblick über eine Funktion oder einen Befehl erhalten wollen, und bietet
vertiefende und ausführliche Informationen für die, die eben das wünschen. Wie weit
fortgeschritten Ihr auch sein mögt (oder noch nicht ;-) ), Ihr werdet genau das finden, was
Ihr sucht und braucht. Sollte dies also Euer erster TM Joystick sein, empfehlen wir, sich die
Zeit zu nehmen und die ersten Kapitel dieses Buches durchzulesen, sonst werdet Ihr
wahrscheinlich niemals in der Lage sein, wirklich alles aus dem HOTAS Cougar
herauszuholen. Dieser ist in der Tat äußerst flexibel in seiner Programmierung und bietet
verschiedene Wege und Methoden, zu ein und demselben Ziel zu gelangen – aber
Obacht, es läuft nichtsdestotrotz auf Programmierung hinaus, und dafür gilt vor allem: je
logischer und methodischer Ihr vorgeht, desto besser und einfacher.
Genug der Worte – jetzt seid Ihr an der Reihe! Lest (und lernt) weiter, nutzt diesen
ultimativen Controller und zeigt Euren Gegnern die Krallen Eurer Raubkatze!
Die spanische Übersetzung dieses Buchs gibt es auf:
http://www.escuadron111.com
Die französische Übersetzung dieses Buchs gibt es auf:
http://www.checksix-fr.com/
Die holländische Übersetzung dieses Buchs gibt es auf:
http://thrustmaster.vanree.net/
Die deutsche Übersetzung dieses Buchs gibt es auf:
http://www.thrustmaster-x-files.de/
Die russische Übersetzung dieses Buchs gibt es auf:
http://www.hotas.ru
HOTAS Cougar Referenz – Buch
6
THRUSTMASTER
DANKSAGUNG
Unser tiefster Dank geht an die folgenden Leute und Web-Seiten für ihre Hilfe und
Unterstützung im Laufe dieses umfangreichen Projektes – Danke Euch allen! !
Beta-Tester
Olivier „Red Dog" Beaumont
Robin „Emacs" Breyl
Jan-Albert „Anvil" van Ree
James „Nutty" Hallows
Firmen und Verbaende
Mark „Frugal” Bush & frugalsworld.com
Wingmen-alliance.com
Combatsim.com
Escuadron 111.com
Ubi Soft
Microsimulateur
Checksix-fr.com
SimHQ.com
Dogfighter.com
Sim-arena.com
Desktopsims.com
Aimsworth Coproration
Gamekult.com
Fast Jet Flight Simulation (a.k.a. HAM technologies)
Spezieller Dank
Len „Viking1" Hjalmarson
Matt Wagner
James R Campisi
Flavien „Vox" Duhamel
François Pimenta
David „Micro" Vely
Philippe „Twech" Dezeure
Philippe „Jag" Dubois
Lew/+Silat
Rob Coppock
Laurent Espinasse
Fernando Oscar Garcia Minguillán
HOTAS Cougar Referenz – Buch
Guillaume „Ghostrider" Houdayer
Oleg Maddox
Jim Staud
Jean-Dominique „Bing" Belin
Emmanuel „Judy" Durant
Thomas „Doloop" Coulomb
Denis „Dugin" Blary
David „Zip" Pierron
Ulf „DonULFonso” Muckel
Hal Bryman
Jose „Oso" Benito
Stanislav „huMMer" Vartanian
7
THRUSTMASTER
HOTAS COUGAR
CONTROL PANEL (CCP)
REFERENZ-BUCH
THRUSTMASTER
EINFÜHRUNG...............................................................................................................10
ACHSEN-PROFILE.......................................................................................................11
VOREINSTELLUNG (DEFAULT) ..............................................................................9
SICHERN (SAVE) ....................................................................................................11
LADEN (LOAD) .......................................................................................................11
LÖSCHEN (DELETE) ..............................................................................................11
JOYSTICK-BETRIEBSARTEN.....................................................................................12
ACHSEN-EMPFINDLICHKEIT ................................................................................12
ACHSEN-EINSTELLUNGEN........................................................................................13
ACHSEN-PARAMETER SCHALTFLÄCHEN .........................................................13
Anwenden (Apply)............................................................................................................. 13
Wiederherstellen (Retrieve) .............................................................................................. 13
ACHSEN-EINRICHTUNG ........................................................................................14
Änderung der Achsen-Zuweisungen ................................................................................ 14
Umkehr der Richtung einer Achse.................................................................................... 17
Sperren einer Achse ......................................................................................................... 17
Änderung einer Windows-Achse ...................................................................................... 18
VORHANDENE ANGESCHLOSSENEN ACHSEN.................................................19
WINDOWS-ACHSEN...............................................................................................20
ACHSEN-VERLAUF ................................................................................................20
Toleranz-Zone................................................................................................................... 21
Kalibrierungs-Zentrierung ................................................................................................. 23
Achsen-Trimmung............................................................................................................. 23
Kurven-Faktor ................................................................................................................... 25
EINRICHTUNG & KALIBRIERUNG ........................................................................27
Einrichtungs-Optionen ...................................................................................................... 27
Kalibrierung....................................................................................................................... 28
Manuelle Kalibrierung ....................................................................................................... 30
AKTIONEN UND WEITERE OPTIONEN......................................................................31
GERÄT ZURÜCKSETZEN ......................................................................................31
TASTEN- & ACHSEN-EMULATION .......................................................................31
IN DEN JOYSTICK LADEN.....................................................................................31
ABFRAGE-OPTION (POLL DEVICE) .....................................................................33
CCP MINIMIEREN / TASKBAR-SYMBOLE............................................................33
HOTAS Cougar Referenz - Buch
9
THRUSTMASTER
Einführung
Der HOTAS Cougar ist eine virtuelle, treiberlose Joystick-Lösung, welche keinerlei
Hintergrundprogramme benötigt, um die verschiedensten Achsen-Einstellungen oder
–Emulationen jeglicher Art umzusetzen. Dazu ist es notwendig, dass der Joystick
selbst alle Änderungen bezüglich der Achsen-Einstellungen kennt und regelt, weshalb
andere Anwendungen, wie z.B. „CTFJ“ (Bob Churchs „Centering Tool For Joysticks“),
und selbst die Windows-eigene Kalibrierung, nicht verwendet werden sollten –
andernfalls würden viele fortschrittliche Funktionen bezüglich der AchsenEinstellungen abweichende Ergebnisse liefern.
ACHTUNG: ZUR KALIBRIERUNG DES HOTAS COUGAR AUSSCHLIESSLICH
DAS „HOTAS COUGAR CONTROL PANEL” VERWENDEN, NICHT DIE
WINDOWS-EIGENE KALIBRIERUNGS-ROUTINE!
Die HOTAS Cougar Control Panel (CCP) Anwendung dient der Veränderung
verschiedener Einstellungen des HOTAS Cougar, von der Zuordnung der Achsen bis
hin zu den verschiedenen Betriebsarten des Joysticks (Emulation, Windowskonform…). Was in diesem Referenz-Buch folgt, ist eine Schritt-für-Schritt Erklärung
ihrer Schaltflächen, und der Art und Weise, wie diese die Funktionsweise des
Joysticks beeinflussen.
Um die derzeitigen, aktiven Einstellungen des Joysticks anzuzeigen, öffne das
HOTAS CCP, während der Joystick angeschlossen ist.
Abbildung 1: HOTAS Cougar Control Panel mit den Voreinstellungen
HOTAS Cougar Referenz - Buch
10
THRUSTMASTER
Achsen-Profile
Profile dienen dem schnellen Zugriff auf bereits erstellte Konfigurationen durch
Laden in das HOTAS CCP und den Joystick. Im „Profile”-Abschnitt des HOTAS
CCP finden sich vier Schaltflächen: „Default (Voreinstellung)”, „Load (Laden)”,
„Save (Sichern)” und „Delete (Löschen)”, welche im folgenden erklärt werden.
Voreinstellung (Default)
Durch einen Mausklick auf die Voreinstellungs-Schaltfläche werden die
Grundeinstellungen des Joysticks im „Windows”-Modus angezeigt. Diese
beinhalten eine DirectX-gemäße Achsen-Zuweisung mit den meisten Achsen in
üblicher positiver Richtung, oberer und unterer Toleranz-Zone von 5% und
zentraler Toleranz-Zone von 7%, linearer Kurveneinstellung von 0 mit zentrierter
Basis, und gesperrter „Windows Achsen an/aus”-Auswahl. Falls der Joystick
angeschlossen ist, die Bildschirmanzeige jedoch keinen Sinn zu machen scheint,
ist das einfachste, die Schaltfläche „Voreinstellung” anzuklicken und dann erst
(oder wieder) Änderungen vorzunehmen.
Sichern (Save)
Die Schaltfläche „Sichern” sichert die aktuelle Konfiguration, die in dem Abschnitt
„Achsen-Einstellungen”
vorgenommen
wurde,
in
das
Verzeichnis
/HOTAS/Profiles, mit der Datei-Erweiterung „.TMC“ (Thrustmaster Configuration).
Falls eine Kalibrierung durchgeführt wurde, wird diese ebenfalls in dieser Datei
mitgespeichert. Auf diese Weise kann man verschiede Achsen-Einstellungen für
verschiedene Spiele abspeichern (und später einfach wieder laden).
Laden (Load)
Die Schaltfläche „Laden” lädt ein zuvor gespeichertes Konfigurations-Profil in die
grafische Anzeige des CCP. Dies lädt diese Daten jedoch noch nicht in den
Joystick; dies erfordert noch die Anwahl der „Anwenden”-Schaltfläche, die weiter
unten noch beschrieben wird.
Loeschen (Delete)
Diese Schaltfläche löscht ein Profil (von der Festplatte: die gesamte Profil-Datei,
nicht nur die Bildschirm-Anzeige)!
HOTAS Cougar Referenz - Buch
11
THRUSTMASTER
Joystick-Betriebsarten
Das HOTAS CCP ermöglicht verschiedene Joystick-Betriebsarten, basierend auf
den Achsen-Einstellungen und Kalibrierungs-Daten, sowie verschiedener
Emulationen. Um diese Modi einzustellen ist keine Anwahl der „Anwenden”Schaltfläche nötig, da jegliche Änderung bezüglich der Achsen den Joystick
automatisch in den entsprechenden Modus versetzt.
AchsenAchsen-Empfindlichkeit
Als Voreinstellung benutzt der Joystick die Grundeinstellungen für die Achsen
und ihr Verhalten. Diese Daten werden immer in den angeschlossenen Joystick
geladen und verwendet – mit Ausnahme der nummerierten Achsen, falls im
letzten Download der „sichtbare Status” angewählt wurde (dieser wird weiter
unten im Kapitel „Änderung von Windows-Achsen” erklärt). Wenn das AchsenVerhalten im Anwender-definierten Modus ist, benutzt der Joystick die folgenden
Daten, soweit vom Anwender angegeben:
•
•
•
•
•
•
•
Achsen-Zuweisung
Umkehr von Achsen
Sperrung von Achsen
Kurven-Informationen
Kurven-Basis
Toleranz-Zone
Achsen-Trimmung
Für Informationen bezüglich der Kalibrierungs-Optionen und der EmulationsModi, siehe die entsprechenden Kapitel.
HOTAS Cougar Referenz - Buch
12
THRUSTMASTER
Achsen-Einstellungen
Die HOTAS CCP Anwendung besteht aus drei Reitern: „Achsen-Einstellungen“,
„Achsen-Verhalten“, und „Start & Kalibrierung“. Änderungen in jedem dieser
Bereiche führen noch nicht direkt zur Übernahme durch den Joystick; zuvor muss
jegliche Änderung von Einstellungen übernommen werden, und das AchsenVerhalten muss auf „Anwender-Modus“ gestellt werden, bevor der Joystick diese
geänderten Einstellungen übernimmt. Um den Erklärungen besser folgen zu
können, öffnet zunächst das HOTAS CCP, und klickt auf die Schaltfläche „Default
(Voreinstellung)“.
SchaltflAEchen AchsenAchsen-Einstellungen
Außer den zuvor erwähnten Reitern enthält dieser Bereich zwei Schaltflächen:
„Wiederherstellen (Retrieve)” und „Anwenden/Übernehmen (Apply)”. Ihre
Funktion und Verwendung werden in den folgenden Abschnitten erklärt.
Anwenden (Apply)
Die Schaltfläche „Anwenden“ lädt die in den Achsen-Einstellungen
beschriebenen Konfigurations-Einstellungen in den Joystick. Bevor diese Aktion
durchgeführt wird, nimmt der Joystick keinerlei Kenntnis von jeglichen
Änderungen auf den beiden Reitern; erst die „Anwenden“-Schaltfläche lädt die
derzeitig angezeigten und definierten Änderungen in den Joystick. Damit der
Joystick diese Informationen auch nutzen kann, muss er auf den „Anwender“Modus umgestellt werden, was mit dem Klick auf „Anwenden“ automatisch
geschieht.
Wiederherstellen (Retrieve)
Diese Schaltfläche lädt die derzeitige Konfiguration des Joysticks in das CCP.
Falls irgendwelche Einstellungen im „Emulations“-Modus geändert werden, lässt
sich dies nach einer „Wiederherstellen“-Operation in den entsprechenden
Bereichen überprüfen. Die HOTAS CCP Anwendung führt beim Start
automatisch eine solche „Wiederherstellen“-Operation aus und zeigt die
derzeitige Konfiguration des Joysticks an; falls der Joystick nicht angeschlossen
ist, wird eine Fehlermeldung angezeigt und stattdessen die Voreinstellung
angezeigt. Durch Anwahl der „Wiederherstellen“-Schaltfläche kann man sich also
auch die derzeitigen Einstellungen des Joysticks anzeigen lassen.
HOTAS Cougar Referenz - Buch
13
THRUSTMASTER
Reiter AchsenAchsen-Einrichtung (Achsen Setup)
Verschiedene Funktionen sind auf dem Reiter „Achsen-Einrichtung” verfügbar,
und ihr Zweck lässt sich folgendermaßen zusammenfassen:
•
•
•
•
Ändern der Achsen-Einrichtung
Umkehr der Richtung einer Achse
Sperrung der Werte einer Achse
Änderungen bezüglich der von Windows erkannten Achsen
Diese Funktionen werden in den entsprechenden Abschnitten ausführlich erklärt.
Aenderung der Achsen-Zuweisung
Falls eine bestimmte Achse für eine spezielle Konfiguration eigentlich eine
andere Achse kontrollieren soll, ist der einfachste Weg, dies zu bewerkstelligen,
die Achsen-Zuweisung zu verändern. Für den Standardfall nur mit
angeschlossener TQS (Schubkontrolle) sieht die Achsen-Zuweisung wie folgt
aus:
Abbildung 2: Achsen-Zuweisung der Standard-Konfiguration
HOTAS Cougar Referenz - Buch
14
THRUSTMASTER
Die verschiedenen Felder des Reiters „Achsen-Zuweisung” zeigen die derzeitige
Konfiguration der Achsen und ihrer Zuweisung an; hiernach ist die X-Achse die
erste Achse, die Y-Achse die zweite, die Schubkontrolle die dritte, usw. … Falls
wir möchten, dass die zweite Achse (die DirectX Y-Achse) statt dessen mittels
der Schubkontrolle kontrolliert werden soll (z.B. für Rennspiele), brauchen wir nur
auf die entsprechende „Schubkontrolle”-Reihe in der zweiten Spalte zu klicken,
woraufhin die Anzeige sich ändert und folgendermaßen aussieht:
Abbildung 3: Achsen-Zuweisung mit Schubkontrolle als Y-Achse
Wie man sieht, ist nun die Schubkontrolle der zweiten Position zugewiesen, und
die Y-Achse hat den Platz der Schubkontrolle als dritte Achse eingenommen. Alle
Achsen-Wechsel können auf diese Weise durchgeführt werden, und obwohl
Windows die Achsen mit ihrer geänderten Zuweisung „sieht”, bleibt jegliche
Joystick-interne Achsen-Programmierung – inklusive jeglicher eventuellen
Richtungsumkehrung, Änderungen des Kurvenverhaltens oder der ToleranzZone, oder Emulationen - davon unberührt; falls also die Schubkontrolle in der
Programmdatei dahingehend programmiert wird, ein spezielles Kurvenverhalten
zu zeigen, und dann im CCP mit der Y-Achse getauscht wird, wird die
Schubkontrolle nun die Y-Achse in genau derselben Weise kontrollieren, wie sie
es für ihre eigene Achse getan hätte.
HOTAS Cougar Referenz - Buch
15
THRUSTMASTER
Zu beachten ist, dass der Hintergrund der Schalter in der sechsten bis achten
Spalte ausgegraut sind, im Gegensatz zu den anderen (welche hellblau sind).
Dies ist der Fall, da in dieser Konfiguration keinerlei Ruderpedale angeschlossen
sind. Die hellblau hinterlegten Schalter zeigen die tatsächlich angeschlossenen
Achsen an. Würden z.B. die X- und die Y-Achse vom Microstick kontrolliert
werden, sähe der Reiter folgendermaßen aus:
Abbildung 4: Reiter „Achsen-Zuweisung” mit dem Microstick
zugewiesenen X- und Y-Achsen
HOTAS Cougar Referenz - Buch
16
THRUSTMASTER
Umkehr der Richtung einer Achse
Um die Richtung einer Achse umzukehren, genügt ein Klick auf das „Plus” (oder
„Minus”)-Zeichen der entsprechenden Achse. Für den Fall, dass die Richtung der
Y-Achse umgekehrt werden soll, sähe die Anzeige folgendermaßen aus:
Abbildung 5: Reiter „Achsen-Zuweisung” mit umgekehrten X- und YAchsen
Sperren einer Achse
Rechts von jeder Achsen-Bezeichnung findet sich ein Schloss-Symbol. Ist ein
solches Schloss offen und grün, so ist diese Achse „offen” und verhält sich
normal. Ist ein Schloss geschlossen und rot, so ist diese Achse „gesperrt” und
ihre Werte können nicht mehr verändert werden. Um den Zustand eines
Schlosses zu ändern, genügt ein Klick zum Hin- und Herschalten zischen beiden
eben erklärten Möglichkeiten.
HOTAS Cougar Referenz - Buch
17
THRUSTMASTER
Aenderung einer Windows-Achse
Diese Überschrift mag der folgenden Funktion nicht ganz gerecht werden, ist
jedoch, ohne allzu technisch zu werden, die beste Umschreibung. Zu beachten
ist, dass oberhalb jeder Spalte ein nummerierter Knopf zu finden ist, wobei in der
Voreinstellung ein rotes „Nicht”-Zeichen über den Zahlen 9 und 10 steht – diese
Schalter sind hier abgebildet:
Abbildung 6: Die „nummerierten Achsen-Schalter" des Reiters „AchsenZuweisung”
Jede dieser Nummern steht für eine der DirectX-Achsen:
Achsen-Nummer
1
2
3
4
5
6
7
8
9
10
DirectX Achsen-Name
X-Achse
Y-Achse
Z-Achse
drehbare X-Achse
Schieber 0
drehbare Z-Achse
Schieber 1
drehbare Y-Achse
<nicht verfügbar>
<nicht verfügbar>
Tabelle 1: Achsen-Nummern und ihre DirectX-Namen
Zusätzlich zum Umstand, dass die neunte und zehnte Achse nicht angewählt
werden können, ist es ebenfalls unmöglich, die erste und zweite Achse
auszuschalten, da die Programmierung jedes Joystick-Treibers zumindest diese
beiden Achsen voraussetzt. Beim Klick auf jede der Nummern von drei bis acht
wird das rote „Nicht”-Symbol an- und wieder ausgeschaltet. Wenn der Joystick
angeschlossen ist, ergeben sich die Nummern der Achsen wie auch die Anzahl
der von Windows „gesehenen” Achsen auf eine von zwei möglichen Weisen:
1. Die tatsächlich „physikalisch“ angeschlossenen Joysticks
2. Der Status dieser „nummerierten Schalter”
Die Erklärung dieser zwei Punkte folgt auf der nächsten Seite.
HOTAS Cougar Referenz - Buch
18
THRUSTMASTER
Vorhandene angeschlossenen Achsen
Was heißt „vorhandene angeschlossenen Achsen” eines Joysticks? Nichts
weiter, als welche anderen Controller (wie z.B. Schubkontrolle, Ruderpedale) an
den Joystick angeschlossen sind, wodurch sich die Anzahl der von Windows am
Cougar zu erkennenden Achsen ergibt. Sechs „physikalische Setups” sind für
den HOTAS Cougar möglich:
1.
2.
3.
4.
5.
6.
der Joystick ist alleine angeschlossen
der Joystick ist mit angehängter TQS angeschlossen
der Joystick ist mit den regulären 1-achsigen RCS angeschlossen
der Joystick ist mit den neuen 3-achsigen RCS angeschlossen
der Joystick ist mit der TQS und den regulären RCS angeschlossen
der Joystick ist mit der TQS und den neuen RCS angeschlossen
Jede dieser Möglichkeiten führt zu verschiedenen Kombinationen von Achsen
unter Windows. Die folgende Tabelle zeigt alle sechs Möglichkeiten, und welche
Achsen für jede einzelne vorhanden sind.
Konfiguration
ACHSENACHSEN-NAMEN
1
2
3
4
5
6
X
Y
•
•
•
•
•
•
•
•
•
•
•
•
Z
Rx
SL0
•
•
•
•
•
HOTAS Cougar Referenz - Buch
•
•
•
•
Rz
•
•
•
•
SL1
Ry
•
•
•
•
19
THRUSTMASTER
Achsen unter "Ermoegliche WindowsWindows-Achsen Status"
Mittels der nummerierten Schalter lässt sich festlegen, welche Achsen von Windows
erkannt werden können. Das Vorgehen zur Nutzung dieser Schalter ist wie folgt:
1.
2.
3.
4.
Auswahl der Achsen, die von Windows „gesehen” werden sollen, durch
Ein- oder Ausschalten der entsprechenden nummerierten Schalter, bis die
gewünschte Konfiguration erreicht ist.
Markierung des „Übernahme der sichtbaren/unsichtbaren WindowsAchsen”-Kontrollkästchens.
Laden der Konfiguration in den Joystick durch Klick auf die „Anwenden“Schaltfläche und anschließender Neustart des Joysticks mittels „OK“.
Nun wird der Joystick von Windows neu erkannt und mit den
angegebenen Achsen „gesehen“.
Der Punkt ist, dass selbst wenn eigentlich keinerlei Ruderpedale angeschlossen sind,
DirectX auf diese Weise vorgegaukelt werden kann, dass welche vorhanden wären,
um dann deren Verhalten mittels einer anderen der tatsächlich vorhandenen Achsen
zu kontrollieren, oder auch durch eine Emulationsdatei.
Zu beachten ist dabei, dass der Joystick sich immer im Anwender-definierten
„Ermögliche Windows-Achsen Status”-Modus befindet, solange die letzte (also
aktuelle) geladene Datei dieses „Übernahme der sichtbaren/unsichtbaren WindowsAchsen”-Kontrollkästchen aktiviert hat.
Reiter AchsenAchsen-Verlauf
Der Reiter „Achsen-Verlauf” enthält Einstellungen zur Veränderung eher
fortgeschrittener Joystick-Funktionen, und ermöglicht eine individuelle Anpassung
jeder Achse an die Bedürfnisse des Anwenders. Das „zu verändernde Achse”Kästchen wählt die gewünschte Achse aus den zehn möglichen zur weiteren
Bearbeitung aus. Nachdem eine Einstellung geändert wurde, wird diese grafisch in der
Anzeige rechts der Liste der verschiedenen Parameter angezeigt. Änderungen
werden aktualisiert durch einen Wechsel der Einstellungs-Kategorie, oder durch die
Schaltfläche „Auffrischen” oben rechts. Die verschiedenen einstellbaren Werte sind:
•
•
•
•
•
•
obere Toleranz-Zone (UDZ)
untere Toleranz-Zone (LDZ)
mittlere Toleranz-Zone (CDZ)
Kalibrierungs-Mitte
Achsen-Trimmung
Kurven-Einstellungen (Faktor und Basis)
Die hier aufgeführten Parameter können mittels verschiedener Joystick-Betriebsarten
aktiviert werden.
HOTAS Cougar Referenz - Buch
20
THRUSTMASTER
Toleranz-Zone
Durch Veränderung der Toleranz-Zone (UDZ: obere, LDZ: untere, CDZ: mittlere
Toleranz-Zone) kann der inaktive Bereich jeder Achse eingestellt werden. Die
Auswirkung von Veränderungen wird dabei in der Anzeige rechts von den
Schiebereglern als hellroter Bereiche hervorgehoben. Alle Werte besitzen einen
Höchstwert von 100%, wobei diese 100% ungefähr 30% der tatsächlichen AchsenBewegung des Joysticks entsprechen.
So verwendet z.B. der Joystick als
Voreinstellung jeweils 1% für die einzelnen Toleranz-Zonen, im Gesamten also 3%
der kompletten Achsen-Bewegung. Die folgende Abbildung zeigt diesen Reiter:
Abbildung 7: Reiter „Achsen-Verlauf” laut Voreinstellung
Auf dieser Abbildung sieht man diese hell-roten Bereiche an jeder Seite und in der
Mitte der Anzeige. Diese zeigen das Verhältnis zwischen der Position der JoystickBewegungsachse und der von Windows verwendeten Werte, welche für Spiele
benutzt werden. Zur Orientierung steht die waagerechte Achse der Anzeige für die
vom Joystick gelesenen Werte der Achse, links beginnend mit dem kleinsten Wert.
Die senkrechte Achse steht für die vom Joystick an Windows übergebenen Werte,
startend mit dem kleinsten Wert unten. Zu beachten ist, dass der Graph im Bereich
der Toleranz-Zonen als waagerechte Linie verläuft, was bedeutet, dass sich die Werte,
welche vom Joystick an Windows weitergegeben werden, innerhalb dieses Bereichs
nicht verändern. Die untere Toleranz-Zone befindet sich dabei am linken Rand der
Anzeige, die obere am rechten; beide verlaufen ebenfalls als waagerechte Linien.
HOTAS Cougar Referenz - Buch
21
THRUSTMASTER
Die nächste Abbildung zeigt, was bei einer Vergrößerung der mittleren ToleranzZone geschieht:
Abbildung 8: Reiter „Achsen-Verlauf” mit vergrößerter CDZ der Y-Achse
Abbildung 8 zeigt deutlich, dass eine Vergrößerung der mittleren Toleranz-Zone
(CDZ) von 7% auf 25% den hellrot hervorgehobenen Bereich der waagerechten
Achse in gleichem Maße vergrößert hat, wie auch aus der entsprechend
verlängerten weißen Linie, die den Bereich der Achse, in welchem eine
Veränderung der Position des Joysticks keinerlei Änderung der an Windows
weitergegebenen Werte bewirkt, ersichtlich ist. Die obere und untere ToleranzZone verhalten sich entsprechend.
HOTAS Cougar Referenz - Buch
22
THRUSTMASTER
Kalibrierungs-Mitte
Dieser Wert gibt an, welche Stellung des Joysticks als „zentriert”, also als Mittelpunkt
der Ruhestellung, betrachtet wird. Wenn die angegebene Mittelstellung niedriger als
die tatsächliche Mittelstellung des Joystick-Griffes ist, wird diese Achse einen höheren
Wert ausgeben, wenn der Joystick in Ruhestellung ist. Ein ähnliches Ergebnis könnte
auch erzielt werden, indem die Trimmung des Joysticks entsprechend verändert wird,
um die Werte, die der Joystick ausgibt, auf der Bewegungsachse zu verschieben; der
Hauptvorteil der Trimmungs-Funktion gegenüber einer Verstellung der Mittelposition
ist, dass eine Trimmung jederzeit während einer Emulation verändert werden kann.
Achsen-Trimmung
Die Trimmungs-Funktion wird verwendet, um den derzeitigen physikalischen Wert
einer Achse um einen bestimmten Betrag zu versetzen. Wenn sich also der Joystick
auf einer physikalischen Position entlang seiner Bewegungsachse von z.B. 30%
befindet, die Trimmung aber auf –20% gestellt wurde, wird diese Position vom
Computer als 10% angenommen. Die höchstmögliche Trimmungs-Einstellung ist +/50%; d.h. dass durch entsprechende Trimmungs-Einstellungen eine komplette Achse
von der Mittelstellung ausgehend definiert werden kann. Dies wird in der folgenden
Abbildung gezeigt.
Abbildung 9: Trimmung mit Maximalwerten
HOTAS Cougar Referenz - Buch
23
THRUSTMASTER
Die Auswirkungen einer solchen Trimmung der Y-Achse sind offensichtlich.
Befindet sich die Achse in ihrer physikalischen Mittelstellung (horizontal), erhält
Windows ihre Höchstwerte. Wird die Y-Achse in eine Richtung bewegt, die ihre
physikalischen Werte erhöht (nach oben), ändern sich die Werte für Windows
nicht weiter; wird die Y-Achse nach unten bis zu ihrem unteren Anschlag bewegt,
verringern sich die Werte für Windows, bis sie ihren geringsten Wert erreichen,
welcher der normalen ungetrimmten Mittelstellung dieser Achse entspricht.
Würden wir die Trimmung auf ihre Minimalwerte reduzieren, sähe der Graph wie
folgt aus:
Abbildung 10: Trimmung mit Minimalwerten
Mit dieser Einstellung würde die Achse als minimal interpretiert, wenn sie
physikalisch zentriert ist, und als zentriert, wenn sie sich physikalisch in
Maximalstellung befindet.
HOTAS Cougar Referenz - Buch
24
THRUSTMASTER
Kurven-Faktor
Diese Einstellung kann die Achse veranlassen, sich eher exponentiell zu
verhalten, d.h. „kurvig”, anstelle des regulären linearen Verlaufs. Der
Kurvenfaktor kann einen Wert zwischen -32 und 32 haben; allerdings kann eine
Einstellung von mehreren Achsen gleichzeitig auf solch hohe Werte die Funktion
des Joysticks merklich verlangsamen. Außerdem sind Werte über 20 oder unter
-20 in der Regel wenig sinnvoll, und die Änderung des Kurvenverlaufs ist zu
unwesentlich, um solche Werte überhaupt zu rechtfertigen.
Betrachten wir zunächst Kurven mit zentrierter Basis – was mag der Unterschied
zwischen einem positiven und einem negativen Verlauf sein? Laßt uns einen
Blick auf das Verhalten einer Kurve mit jeweils einem positiven und einem
negativen Wert werfen.
Die Abbildung links zeigt eine Achse mit einem Kurven-Faktor von -10 (negativ);
wie man sieht, ändert sich wenig rund um die Mittelstellung – beinahe so, als
wäre die mittlere Toleranz-Zone vergrößert worden. Die Werte steigen dann
immer schneller an, bis die Kurve beinahe senkrecht verläuft. Das bedeutet, dass
der Joystick in den Endbereichen dieser Achse immer empfindlicher reagiert. Die
Abbildung rechts zeigt das Verhalten einer Achse mit einem Kurven-Faktor von
10 (positiv), welche beinahe eine Umkehrung der vorigen Einstellung zu sein
schein; die Achse ist nun wesentlich empfindlicher rund um ihre physikalische
Mittelstellung, wohingegen die Empfindlichkeit zu den Randbereichen immer
mehr abnimmt – beinahe so, als wären die obere und untere Toleranz-Zone
vergrößert worden.
HOTAS Cougar Referenz - Buch
25
THRUSTMASTER
Die Idee hinter dem “Kurvenbasis”-Schalter ist, dass obwohl die Empfindlichkeit
z.B. der Joystick- und Microstick-Achsen kurvig verlaufen sollten, wie wir im
letzten Beispiel gesehen haben, ein Anstieg über den gesamten Bereich
andererseits für andere Achsen, wie z.B. die Schubkontrolle oder die
Einzelpedale, eher sinnvoll sein kann. Es folgen die Graphen für einen KurvenFaktor von jeweils positiven und negativen 5 (als sinnvolle Werte, 10 wäre
übertrieben), allerdings mit der Kurvenbasis auf dem Null-Wert.
Die Abbildung links zeigt das Verhalten einer Achse mit einem Kurven-Faktor von
-5 (negativ) – beachtet, wie ähnlich es sich verhält zum oberen rechten Bereich
des Verlaufs für einen Kurven-Faktor von -10 mit zentrierter Kurvenbasis. Der
Joystick wird nun am unteren Ende seiner Bewegungsachse nur sehr langsam
reagieren, so als ob eine zusätzliche untere Toleranz-Zone zur Achse
hinzugekommen wäre, mit zunehmender Empfindlichkeit zum oberen Ende der
Joystickbewegung hin. Rechts davon beträgt der Kurven-Faktor 5 (positiv), mit
der Kurven-Basis auf 0. Wiederum lässt sich eine Ähnlichkeit des gesamten
Kurvenverlaufs dieser Null-basierten Kurve zum oberen rechten Bereich der
Mittelpunkt-basierten Kurve beobachten. Die Empfindlichkeit nimmt zum
physikalischen unteren Ende der Bewegungsachse hin zu, und nimmt zum
oberen Ende hin ab.
HOTAS Cougar Referenz - Buch
26
THRUSTMASTER
Reiter Einrichtung & Kalibrierung
Dieser Reiter enthält Angaben darüber, wie sich der Joystick beim Hochfahren des
Rechners verhält, sowie Kalibrierungs-Daten. Der Reiter ist in zwei Bereiche unterteilt,
mit den Einrichtungs-Optionen oben und der Kalibrierungs-Konfiguration unten. Jeder
dieser Bereiche wird im folgenden beschrieben.
Abbildung 11: Reiter „Einrichtung & Kalibrierung”
Einrichtungs-Optionen
Es gibt drei Möglichkeiten, den Joystick beim Hochfahren einzurichten. Diese
Möglichkeiten sind das Achsen-Verhalten, der Kalibrierungs-Modus, und das
Hochladen einer Profil-Datei in den Joystick. Standardmäßig befindet sich der Joystick
im voreingestellten Achsen-Verhalten-Modus und im Auto-Kalibrierungs-Modus, mit
der letzten in den Joystick hochgeladenen Profil-Datei. Diese Grundeinstellungen
können durch einen Klick auf die gewünschte Option und anschließend auf „Sichern”
geändert werden. Um eine Profil-Datei auszuwählen, klickt in das zugehörige
Kontrollkästchen und dann auf die „…”-Schaltfläche, oder gebt den Namen des Profils
direkt in die Zeile rechts des Kästchens ein. Bitte beachtet dabei, dass dieses Profil
auch tatsächlich im Profile-Unterverzeichnis des HOTAS-Verzeichnisses vorhanden
sein muss. Zum Zurücksetzen der Einrichtungs-Einstellungen genügt ein Klick auf die
Schaltfläche „Voreinstellung”
HOTAS Cougar Referenz - Buch
27
THRUSTMASTER
Kalibrierung
Der Bereich zur Kalibrierung enthält Möglichkeiten zur Einstellung des
Kalibrierungs-Modus’ und zur eigentlichen Kalibrierung des Joysticks selbst, zur
Wiederherstellung der Auto-Kalibrierungs-Daten, und zur Einrichtung der
Mittelpunkte der Achsen in Ruhestellung.
Die Wahl von automatischer oder manueller Kalibrierung unter dem Punkt
„Kalibrierungs-Modus” schaltet den Joystick automatisch in den entsprechenden
Modus. Zu beachten ist dabei, dass es dabei nicht nötig ist, auf die Schaltfläche
„Anwenden” zu klicken – dies geschieht automatisch.
Im manuellen Kalibrierungs-Modus werden die zuletzt nach einer manuellen
Kalibrierung in den Joystick geladenen Daten verwendet. Diese Daten werden
automatisch geladen, einschließlich der derzeitigen Achsen-Einstellungen, zur
weiteren Verwendung nach jeglicher Kalibrierungs-Durchführung.
Auto-Kalibrierungs-Modus bedeutet, dass der Joystick alle Achsen und ihre
maximale Ausdehnung während der Bewegung dieser Achsen bis an alle
Anschläge ermittelt. Manueller Kalibrierungs-Modus bedeutet, dass der Joystick
die durch die Durchführung einer manuellen Kalibrierung, wie sie weiter unten
erklärt wird, ermittelten Daten verwendet. Zu beachten ist dabei, dass der
Joystick nicht in diesen manuellen Kalibrierungs-Modus geschaltet werden kann,
wenn keine manuelle Kalibrierung durchgeführt wurde. Wird der Joystick
zurückgesetzt (durch Wiederanschluss oder Anklicken der „Zurücksetzen”Schaltfläche), während er sich im Auto-Kalibrierungs-Modus befindet, ist es
erforderlich, alle Achsen (Joystick, Schubkontrolle, Reichweiten-Ring, AntennenDrehregler, Microstick, etc.) zu ihren maximalen und minimalen Anschlägen zu
bewegen und dort jeweils für ca. 3 Sekunden zu halten. Dies ermöglicht der AutoKalibrierung, die genauen Daten dieser Achsen zu sammeln und sie korrekt
einzuordnen.
Ein Klick auf die Schaltfläche „Ermittle Auto-Kalibrierung” vor Umschalten des
„Kalibrierungs-Modus” von „Auto” auf „Manuell” kopiert die Daten aus der AutoKalibrierung in das derzeitige Profil. Nun kann dieses Profil übernommen und
gesichert werden, ohne dass seine Daten in Zukunft verändert werden.
Die Schaltfläche „Mittelposition einstellen” dient der Sicherung einer speziellen
Position als neue angenommene Mittelposition jeder Achse. Wird gewünscht,
dass z.B. die Joystick-Achsen und die des Reichweiten-Rings von den durch die
Auto-Kalibrierung ermittelten Mittelpositionen abweichende Positionen haben
sollen, können nach einem Klick auf diese Schaltfläche die gewünschten Achsen
angegeben werden, wie aus der nächsten Abbildung ersichtlich.
HOTAS Cougar Referenz - Buch
28
THRUSTMASTER
Abbildung 12: Sichern der Joystick- und Reichweiten-Ring-Mittelpositionen
Nach Anwahl der „Sichern”-Schaltfläche erscheint eine Aufforderung, die
angegebenen Achsen zur gewünschten Mittelstellung zu bewegen und mit „OK”
zu bestätigen. Dies weist den angegebenen Achsen die neuen Mittelpositionen
zu.
HOTAS Cougar Referenz - Buch
29
THRUSTMASTER
Manuelle Kalibrierung
Die Schaltfläche „Manuelle Kalibrierung” öffnet die folgende Anzeige für den
Kalibrierungs-Vorgang:
Abbildung 13: Anzeige der manuellen Kalibrierung
Folgt einfach den gegebenen Anweisungen und klickt auf die „Weiter”Schaltfläche, wenn die Achse die in diesem Schritt zu sichernde Position erreicht
hat. Wenn Ihr z.B. im zweiten Schritt die Y-Achse an ihren vorderen Anschlag
bewegt und auf „Weiter” klickt, so wird der Joystick genau die Position speichern,
an der er sich zum Zeitpunkt des Klicks befindet. Wenn Ihr mit der Kalibrierung
fertig seid, überträgt die Anwendung automatisch alle Daten an den Joystick,
einschließlich aller derzeitigen Daten des „Achsen-Einstellungen”-Bereiches.
Diese Kalibrierungs-Daten werden gespeichert und können zur weiteren
Verwendung in ein Profil gesichert werden.
Zu beachten ist dabei, dass alle Achsen, die nicht angeschlossen sind,
ausgegraut angezeigt werden. Während der Kalibrierung werden diese Achsen
übersprungen. Der „Fortschritt”-Balken unten links zeigt dabei die „Roh-Werte”
der jeweiligen Achse an – es kann durchaus vorkommen, dass es unmöglich ist,
die minimalen oder maximalen Positionen dieses Balkens zu erreichen. Er dient
als Hilfe, indem er die richtige Achse und ihre Richtung anzeigt.
HOTAS Cougar Referenz - Buch
30
THRUSTMASTER
„Aktionen“ und andere
Optionen
Im Abschnitt „Aktionen“ gibt es drei Schaltflächen: „Neustart“, „Tasten- & AchsenEmulation“ und „Hochladen“. Außerdem gibt es Optionen für die automatische
Abfrage des Joysticks (Polling), und die Schaltfläche „Minimieren“. Alle diese
„Aktionen“ und Optionen werden im folgenden erklärt.
Neustart (Restart Device)
Die Schaltfläche „Neustart“ veranlasst den Joystick, sozusagen den Stecker zu
ziehen, vergleichbar mit dem Ziehen und Wiedereinsteckens des USB-Steckers.
Diese Funktion ist nützlich wann immer eine Änderung bezüglich der WindowsAchsen gewünscht wird. In diesem Falle wäre es nötig, den Joystick aus- und
wieder einzustöpseln (wie im Abschnitt „Änderung der Windows-Achsen“
beschrieben), welches auch einfacher durch einen Klick auf die „Neustart“Schaltfläche geht. Außerdem werden ja mittels der Auto-Kalibrierung während
des Hochfahrens die Mittelpositionen aller Achsen gemessen (X-, Y-, Ruder-,
Microstick-Achse); um diese manuell zu verändern, kann man auch auf
„Neustart“ klicken, während man die Achsen an den gewünschten Positionen
hält.
TastenTasten- & AchsenAchsen-Emulation
Wenn die „Tasten- & Achsen-Emulation“ AN ist (grüner Hintergrund), verwendet
der Joystick die zuletzt hochgeladene Emulations-Datei. Diese Emulations-Datei
ist eine Datei, die die Tastatur- und Maus-Emulation steuert, sowie weitere
Änderungen der Achsen-Einstellungen beinhaltet. Genauere Angaben zu diesem
Thema finden sich im Referenz-Buch weiter unten.
Wenn die „Tasten- & Achsen-Emulation“ AUS ist (roter Hintergrund), verhält sich
der Joystick wie ein einfacher DirectX-Joystick unter Windows.
Hochladen (Download to device)
Diese Schaltfläche öffnet das HOTAS Cougar Lade-Programm, welches dem
Hochladen einer Joystick-Datei (Thrustmaster Joystick Files „.TMJ“) in den
Joystick dient. Weitergehende Informationen bezüglich der Struktur einer
Emulations(=Joystick-)-Datei finden sich im Referenz-Buch weiter unten. Auf der
nächsten Seite findet sich eine Abbildung dieser Download-Applikation.
HOTAS Cougar Referenz - Buch
31
THRUSTMASTER
Abbildung 14: HOTAS Cougar Loader zum Hochladen von Joystick-Dateien
Im Hauptfenster des HOTAS Cougar Lade-Programms finden sich zwei Schaltflächen
und ein Kontrollkästchen. „Prüfen“ überprüft das Joystick-Programm auf Fehler. Dies
lädt nicht die Datei in den Joystick. „Hochladen“ überprüft die Datei erst und lädt sie
dann in den Joystick, wenn sie keine Fehler enthält. Der Abschnitt unter
„Eigenschaften der derzeitig geladenen Datei“ zeigt den Namen der aktuell geladenen
Datei und das Datum ihres Downloads an. Das Kontrollkästchen für „Aktivierung des
Emulations-Modus’ nach Download“ aktiviert den Emulations-Modus nach Hochladen
einer Datei in den Joystick. Nachdem eine Joystick-Datei geladen wurde, muss der
Emulations-Modus aktiviert werden, damit der Joystick die in dieser Datei
gespeicherten Joystick-Tasten und Achsen emulieren kann. Dies kann auch mittels
der Schaltfläche „Tasten- & Achsen-Emulation“ des HOTAS CCP geschehen. Siehe
dazu den gleichnamigen Abschnitt weiter oben. Während eine Jostick-Datei überprüft
oder hochgeladen wird, erscheint die folgende Anzeige.
Abbildung 15: HOTAS Cougar Kompilierer zur Prüfung einer Joystick-Datei
HOTAS Cougar Referenz - Buch
32
THRUSTMASTER
JoystickJoystick-Abfrage (Poll device)
Dieses Kontrollkästchen wird vom HOTAS CCP zur Abfrage des derzeitigen
Status’ des Joysticks benötigt. Diese Abfrage überprüft, ob der Joystick
angeschlossen ist und in welchem Modus er sich befindet. Die Häufigkeit dieser
Abfrage wird in der Zeile unter diesem Kästchen festgelegt.
CCP minimieren / TaskbarTaskbar-Symbole
Das HOTAS CCP kann als Hintergrund-Prozess laufen, während es lediglich ein
Symbol in der Taskbar zeigt. Ein Klick auf die „Verbergen”-Schaltfläche minimiert
das HOTAS CCP. Zu beachten ist, dass diese Funktion nur mit aktivierter
Abfrage-Funktion genutzt werden kann. Um das HOTAS CCP nach einer
Minimierung wieder anzuzeigen, genügt ein Linksklick auf das Symbol und Wahl
von „Öffne HOTAS Cougar Control Panel…“ im erscheinenden Menü. Die
anderen Punkte dieses Menüs dienen zum Verlassen des HOTAS CCP und zum
Öffnen des HOTAS Cougar Ladeprogramms. Der Emulations-Modus des
Joysticks kann durch Rechtsklick auf das Taskbar-Symbol an- und ausgeschaltet
werden. Die Farben des Symbols werden sich daraufhin entsprechend folgender
Übersicht ändern:
Icon
Farb-Code
Beschreibung
grüner Jäger
auf
gelbem Grund
Emulations-Modus ist AN,
Achsen-Verhalten ist im Anwender-Modus
roter Jäger
auf
gelbem Grund
Emulations-Modus ist AUS,
Achsen-Verhalten ist im Anwender-Modus
grüner Jäger
auf
grauem Grund
Emulations-Modus ist AN,
Achsen-Verhalten ist im Windows-Modus
roter Jäger
auf
grauem Grund
Emulations-Modus ist AUS,
Achsen-Verhalten ist im Windows-Modus
Tabelle 2: Taskbar-Symbole
HOTAS Cougar Referenz - Buch
33
THRUSTMASTER
HOTAS COUGAR
BENUTZERHANDBUCH
REFERENZ-BUCH
THRUSTMASTER
INHALT
1.
WAS WIR FÜR EUCH AUF LAGER HABEN!......................................................40
1.1 EINFÜHRUNG...................................................................................................40
1.2 ANSCHLUSS DER CONTROLLER..................................................................40
1.3 MIT DEM REFERENZ-BUCH VERTRAUT MACHEN ..............................................41
2. GRUNDLAGEN-VERSTÄNDNIS ..........................................................................45
2.1 GRUNDLAGEN DER THRUSTMASTER PROGRAMMIERUNG.......................45
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.1.6
2.1.7
2.1.8
2.1.9
3.
Einführung .............................................................................................................. 45
Das Konzept von HOTAS....................................................................................... 45
Wie erreichen wir HOTAS für unsere Flugsimulationen und andere Spiele? ........ 46
Vorstellung der Joystick-Datei – Grundlagen der Programmierung ....................... 46
Vorstellung von Makros und der Makro-Datei – Grundlagen der Programmierung 47
Woher weiß die Joystick-Datei, welche Makro-Datei ihre Makros enthält? ........... 48
Zusammenfassung des bisher Gelernten … .......................................................... 49
Eine Joystick-Datei in den Joystick laden............................................................... 50
Struktur vonJoystick- und Makro-Dateien............................................................... 51
TASTEN-BEFEHLE UND MAKROS.....................................................................53
3.1 TASTEN-BEFEHLE UND TMJOYSTICK-TASTEN-VERWENDUNG ..............53
3.2 THRUSTMASTERS TASTATUR-SYNTAX ......................................................56
3.3 MAKROS UND MAKRO-REGELN ...................................................................58
3.4 BEFEHLS-MODIFIZIERER ...............................................................................61
3.5 SCHRÄGSTRICH (SLASH) MODIFIZIERER ...................................................62
3.5.1 Erhöhung der Anzahl programmierbarer Positionen: ............................................. 63
3.5.1.1
/U, /M, /D - Up, Middle, Down.................................................................... 64
3.5.1.2
/I, /O - In, Out............................................................................................. 64
3.5.2 Unterteilung von Makros für eine Joystick-Taste.................................................... 67
3.5.2.1
/T – Wechselschalter (Toggle) .................................................................. 67
3.5.2.2
Zurücksetzen eines Wechselschalters...................................................... 69
3.5.2.3
Umkehren der Verarbeitungsrichtung eines Wechselschalters ................ 70
3.5.2.4
/P, /R – Drücken, Loslassen einer Joystick-Taste (Press, Release)......... 71
3.5.3 wiederholte und nicht-wiederholende Ausgabe...................................................... 74
3.5.3.1
Nicht-wiederholende Ausgabe .................................................................. 74
3.5.3.2
/A - Auto-Wiederholung ............................................................................. 74
3.5.3.3
/H - Halten ................................................................................................. 75
3.5.4 Schrägstrich-Kürzel – Regeln und Reihenfolge...................................................... 77
3.5.4.1
Schrägstrich-Kürzel - Regeln .................................................................... 77
3.5.4.2
Schrägstrich-Kürzel - Reihenfolge............................................................. 77
HOTAS Cougar Referenz - Buch
35
THRUSTMASTER
3.6 VERZÖGERUNG UND WIEDERHOLUNG.......................................................79
3.6.1 DLY( ) – Verzögerung (Delay) ................................................................................ 79
3.6.2 RPT( ) – Wiederholung (Repeat)............................................................................ 81
3.7 ZUSAMMENFASSUNG UND GRUPPIERUNG DURCH KLAMMERN............82
3.7.1 ( ) Klammern ........................................................................................................... 83
3.7.2 { } geschweifte Klammern ....................................................................................... 84
3.7.3 < > Winkel-Klammern ............................................................................................. 85
3.8 ARBEIT MIT UND DEFINITION VON DIRECTX (DIRECT INPUT) TASTEN ..87
3.8.1 USE ALL_DIRECTX_BUTTONS ........................................................................... 88
3.9 VERWENDUNG VON KD, KU UND USB KÜRZELN.......................................91
3.9.1 KD, KU.................................................................................................................... 91
3.9.2 USB Programmierung............................................................................................. 92
4.
HÜTCHEN-PROGRAMMIERUNG ........................................................................93
4.1 PROGRAMMIERUNG DER JOYSTICK-HÜTCHEN.........................................93
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.1.7
5.
Programmierbare Positionen eines Hütchens ........................................................ 93
4-wege oder 8-wege Hütchen: USE Hütchen-ID FORCED_CORNERS ............... 94
Steuerung der Maus durch ein HÜTCHEN............................................................. 95
Einrichtung eines HÜTCHENs als „Blickwinkel“ (Point Of View=POV) HÜTCHEN 96
Verwendung eines HÜTCHENs zur Emulation der Pfeil-Tasten ............................ 97
Verwendung eines HÜTCHENs zur Emulation des Ziffernblocks .......................... 98
Wie der Kompilierer USE Hütchen-ID AS Befehle umwandelt ............................. 100
KONFIGURATIONS-BEFEHLE ..........................................................................103
5.1 EINFÜHRUNG.................................................................................................103
5.2 MDEF – MAKRODEFINITIONS-DATEI ..........................................................104
5.3 RATE ...............................................................................................................105
5.4 S3_LOCK UND S3_UNLOCK (VER-/ENTRIEGELN) ....................................106
5.5 ZUWEISUNG EINER ANDEREN JOYSTICK-TASTE ALS SHIFTBTN /I, /O 107
5.6 EMPFINDLICHKEIT DER HÜTCHEN UND DER ECKPOSITIONEN USE HAT SENSITIVITY - HAT CORNER SENSITIVITY................................108
5.7 EMPFINDLICHKEIT DES MICROSTICKS - USE T1 SENSITIVITY...............109
5.8 VERWEISE AUF ZU LADENDE ERLÄUTERUNGEN IN BILD ODER TEXT –
USE FOXY GRAPHIC / README ..................................................................110
5.9 NULLCHR ^ ....................................................................................................110
5.10 TASTATUR-SCHEMA (AZERTY, QWERTY) .............................................113
5.11 VERWENDUNG VON PROFILEN DES CCP - USE PROFILE...............................114
5.11.1 Noch ein paar Punkte zu den Profilen ................................................................. 114
5.12 SONSTIGE KONFIGURATIONS-BEFEHLE .............................................116
HOTAS Cougar Referenz - Buch
36
THRUSTMASTER
6.
ACHSEN-PROGRAMMIERUNG.........................................................................117
6.1 GRUNDSÄTZLICHES.....................................................................................117
6.1.1 Den Unterschied zwischen analog und digital verstehen ...................................... 117
6.1.2 Die Achsen des Cougar......................................................................................... 118
6.2 DIGITALE TYPEN...........................................................................................120
6.2.1 Typ 1: wiederholende Zeichen, richtungsabhängig .............................................. 120
6.2.1.1
Den - FORCE_MACROS Modifizierer verstehen.................................... 122
6.2.1.2
Wichtige Überlegungen zum Gebrauch von FORCE_MACROS................. 124
6.2.2 Typ 2: Zeichenfolge, feste Regionen .................................................................... 127
6.2.2.1
Den - FORCE_MACROS Modifizierer verstehen.................................... 128
6.2.3 Typ 3: gehaltene Zeichen ..................................................................................... 130
6.2.4 Typ 4: pulsierende Zeichen .................................................................................. 131
6.2.5 Typ 5: Zeichenfolge, variable Regionen ............................................................... 132
6.2.5.1
Den - FORCE_MACROS Modifizierer verstehen.................................... 133
6.2.6 Type 6: wiederholende Zeichen, variable Regionen ............................................ 134
6.2.6.1
Den - FORCE_MACROS Modifizierer verstehen ................................... 134
6.2.7 Achsen-Richtungen: analoge Werte und digitale Befehle ..................................... 135
6.2.7.1
Analoge Achsen: Werte............................................................................135
6.2.7.2
Typ 1 Digitale Achse................................................................................ 136
6.2.7.3
Typ 2 Digitale Achse................................................................................ 137
6.2.7.4
Typ 3 Digitale Achse................................................................................ 138
6.2.7.5
Typ 4 Digitale Achse................................................................................ 139
6.2.7.6
Typ 5 Digitale Achse................................................................................ 140
6.2.7.7
Typ 6 Digitale Achse................................................................................ 141
6.3 EMPFINDLICHKEITS-KURVEN (CURVE) .....................................................142
6.4 ACHSEN-TRIMMUNG (TRIM) ........................................................................146
6.5 DEAKTIVIERUNG VON ACHSEN ..................................................................151
6.5.1 Ver-/Entriegelung von Achsen im Spiel mittels LOCK, UNLOCK......................... 152
6.6 ACHSEN-ZUWEISUNG (SWAP) ....................................................................154
6.7 RICHTUNGS-UMKEHR VON ACHSEN (REVERSE, FORWARD) ................157
6.8 DER USE AXES_CONFIG KONFIGURATIONS-BEFEHL.............................158
HOTAS Cougar Referenz - Buch
37
THRUSTMASTER
7. MAUS-PROGRAMMIERUNG ................................................................................161
7.1 DIE MAUS-STEUERUNG UND DER MICROSTICK ......................................161
7.2 USE MTYPE – DER EINFACHSTE WEG, DIE MAUS DEM MICROSTICK
ZUZUWEISEN .................................................................................................163
7.3 USE MICROSTICK AS MOUSE ......................................................................165
7.3.1 Zuweisung anderer Achsen zu Maus-Achsen ....................................................... 169
7.4 BENUTZER-DEFINIERTE MAUS & MICROSTICK ........................................171
7.5 USE ZERO_MOUSE........................................................................................177
7.6 PROGRAMMIERUNG MIT MAUS-TASTEN ...................................................178
7.7 STANDARD-ZUWEISUNG DER MAUS AUF DEN MICROSTICK
AUSSCHALTEN .............................................................................................179
7.8 FORTGESCHTITTENE MAUSBEWEGUNGS-BEFEHLE..............................180
7.8.1
7.8.2
7.8.3
7.8.4
Angabe der Bildschirm-Auflösung ........................................................................ 180
Bewegung zu einer genauen Bildschirm-Position ................................................ 181
Bewegung der Maus relativ zu ihrer derzeitigen Position..................................... 182
Drehbewegung/polygonale Bewegung ................................................................. 184
8. LOGISCHE PROGRAMMIERUNG ........................................................................188
8.1 LOGISCHE PROGRAMMIERUNG – DIE GRUNDLAGEN ..................................
8.1.1 Logische Schalter (Flags) verstehen .................................................................... 188
8.2
8.3
8.4
8.5
DEFINITION VON LOGISCHEN SCHALTERN UND ADDRESSIERUNG.....189
LOGISCHE VERGLEICHE..............................................................................191
DER LOGISCHE SCHALTER-STATUS .........................................................193
LOGISCHE VERZÖGERUNG (DELAY) UND PULSE FUNKTIONEN......................194
8.5.1 Die DELAY Funktion ............................................................................................. 194
8.5.2 Die PULSE Funktion ............................................................................................. 195
8.6 LOGISCHE PROGRAMMIERUNG: BEISPIELE ............................................196
8.6.1 Einen Typ 4 Befehl an und aus schalten ............................................................... 196
8.6.2 Eine langsame Trimm-Funktion............................................................................ 197
9. FEHLERBEHEBUNG.............................................................................................198
9.1 ZURÜCKSETZEN DER CONTROLLER ........................................................198
9.1.1 In einem Spiel: EMPTY_BUFFERS und STICK_OFF ......................................... 198
9.1.2 Unter Windows...................................................................................................... 200
HOTAS Cougar Referenz - Buch
38
THRUSTMASTER
10. ANHÄNGE ...........................................................................................................201
ANHANG 1.
ZUSAMMENFASSUNG VON THRUSTMASTER-BEFEHLEN...201
Tasten-Befehle und Befehls-Modifizierer........................................................................ 201
Schrägstrich-Modifizierer und Befehls-Modifizierer ........................................................ 202
Konfigurations-Befehle.................................................................................................... 203
Achsen-Befehle............................................................................................................... 204
Fortgeschtittene Maus-Befehle....................................................................................... 204
Logische Befehle ............................................................................................................ 205
Hardware-Befehle ........................................................................................................... 205
ANHANG 2.
ANHANG 3.
ANHANG 4.
THRUSTMASTER TASTATUR-SCHEMA ..................................206
USB KEYDOWN UND KEYUP KÜRZEL....................................207
UNTERSCHIEDE ZWISCHEN ORIGINAL TM F22 UND
COUGAR DATEIEN ....................................................................211
1. Änderungen von Tasten-Bezeichnungen ................................................................... 211
2. Änderungen bei Schrägstrich-Modifizierern................................................................ 212
3. nicht länger unterstützte Befehle ................................................................................ 212
4. Datei-Endungen und -Namen ..................................................................................... 212
5. Voreinstellungen ......................................................................................................... 213
6. Digitale und analoge Achsen ...................................................................................... 214
7. Typ 1 Digitaler Befehl.................................................................................................. 214
8. Schubkontrolle nicht angeschlossen .......................................................................... 214
9. Makros – nicht zulässige Zeichen............................................................................... 214
10. RPT........................................................................................................................... 215
11. Das // Kommentar-Zeichen....................................................................................... 215
HOTAS Cougar Referenz - Buch
39
THRUSTMASTER
1. Was wir für Euch auf
Lager haben!
1.1
Einfuehrung
Willkommen zur nächsten Generation von Thrustmaster Spitzenklasse-Kontrollern dem HOTAS Cougar. Versiegelt in der Hülle dieses merklich voll-metallenen
Flugsteuerknüppels findet sich der Kontroller selbst, plus eine CD-ROM mit einer
ganzen Ladung von Anwendungen und Zugaben, plus dieses monolithische
Referenz-Buch, und die mittlerweile traditionelle Schnellstart-Anleitung.
Unter den auf der CD-ROM enthaltenen Bonbons findet Ihr alle Anwendungen, die
nötig sind, den HOTAS Cougar in Betrieb zu nehmen und das Kätzchen schnurren zu
lassen: das HOTAS Cougar Control Panel (ausführlich beschrieben in den vorherigen
Abschnitten), wie auch die „Foxy“ genannte Sammlung von Anwendungen, die die
Haupt-Programme, die Foxy HOTAS Cougar Edition, mit allen ihren Bestandteilen
(wie z.B. dem Composer und Korgy) und ihren unterstützenden Anwendungen, wie
z.B. die Foxy GUI (Bediener-Oberfläche), dem Launcher (Schnellstart), usw.
Mit Rücksicht auf das HOTAS Cougar Control Panel wird an dieser Stelle nicht näher
darauf eingegangen – für Tonnen von Informationen, lest einfach weiter!
Foxy und Foxy GUI werden in diesem Referenz-Buch allerdings nicht behandelt. Alle
nötigen Erläuterungen zu deren Nutzung finden sich in der Online-Hilfe der
Anwendung.
Foxy ist der Schlüssel zur Programmierung aller Funktionen Eures Joysticks, der
Erstellung mächtiger und komplexer Joystick- und Makrodefinitions-Dateien mit
unerreichter Leichtigkeit.
Die Foxy GUI (Bediener-Oberfläche) ermöglicht Euch, mit wenigen Maus-Klicks eine
Flut von Tastatur-Kommandos auf eine einzelne Joystick-Taste oder eine Bewegung
Eures HOTAS Cougar zu legen, wodurch Ihr in der Lage seid, auch ohne jede
Kenntnis der eigentlichen Thrustmaster Programmier-Befehle Tastatur-Befehle den
verschiedenen (und vielen!) Joystick-Tasten des Joysticks zuzuweisen.
Nachdem soweit alles gesagt wäre, schiebt Eure Lieblings-CD in Eure HiFi-Anlage,
mixt Euch einen grooooßen Drink, und bereitet Euch darauf vor, die nächsten Tage
(und Nächte) in den vielversprechenden Tiefen dieses Referenz-Buchs vertieft zu
verbringen!
1.2
Anschluss und Einrichtung der Controller
Bitte entnehmt dies der Schnellstart-Anweisung des HOTAS Cougar.
HOTAS Cougar Referenz - Buch
40
THRUSTMASTER
1.3 MIT DEM REFERENZREFERENZ-BUCH VERTRAUT MACHEN
Offensichtlich benötigt ein Spitzenklasse-Controller wie der HOTAS Cougar eine
umfassende Hilfe und Unterstützung, gleichwertig mit seinen unvergleichlichen
Fähigkeiten. Daher werdet Ihr Euch, nachdem Ihr Euren Cougar angeschlossen
und alle Programme von der CD installiert und Euch sowohl im Cougar Control
Panel (CCP), als auch unter den Einstellungen von Windows’ Spiel-Optionen
überzeugt habt, ob alles zu funktionieren scheint, ohne Zweifel wundern, wo Ihr
denn nun überhaupt anfangen sollt. Hoffnungsvoll habt Ihr auch Foxy installiert
und gestartet (nachdem Ihr zuerst das CCP geöffnet hattet – das ist wichtig), und
Euch mit Panik in den Augen gefragt: „Aha, und wo fange ich denn mit alldem
eigentlich an?“.
Also, um mit den absoluten Grundlagen anzufangen und sich dann weiter vor zu
arbeiten, erfahrt Ihr nun, wie Ihr Euch mit dem Cougar vertraut machen könnt.
Stufe 1: mit Kindersicherung
Tja, es wird Euch freuen, dass Ihr eigentlich überhaupt nichts weiter tun müsst,
um mit dem Cougar loszulegen. Ihr solltet lediglich zunächst alle Achsen bis an
ihre Anschläge bewegen und sie dort für einige Sekunden halten, damit die AutoKalibrierung korrekt vorgenommen werden kann. Danach könnt Ihr alle eventuell
laufenden Cougar-Anwendungen beenden, Euer Spiel starten und Euren Cougar
benutzen. Falls das Spiel die direkte Zuweisung von Funktionen für die Hütchen
und Joystick-Tasten unterstützt, könnt Ihr diese aus dem Spiel heraus
programmieren. Das Spiel wird Joystick und Schubkontrolle als eben solche
erkennen und ihnen die vorgesehenen Flugfunktionen zuweisen, vielleicht sogar
die zusätzlichen Achsen, wie die von Reichweiten- und Antennen-Regler, und
auch ihnen die vom Spiel vorgesehenen Funktionen zuweisen. Und das war’s.
Benutzt Euren Cougar „einfach so“. Der Cougar befindet sich im Windows- oder
DirectX-Modus – dieser Ausdruck bedeutet schlicht, dass die Joystick-Tasten und
Hütchen nicht programmiert werden, sondern ihre Funktionen vom Spiel selbst
zugewiesen bekommen.
Stufe 2: die erste Raubtier-Fütterung
Die nächste Stufe, die Ihr wahrscheinlich nutzen werden wollt, wäre, den Cougar
mit den von uns vorbereiteten und mit dem Cougar mitgelieferten programmierten
Funktionen zu füttern. Wir haben für Euch Dateien für 30 verschiedene Spiele
entwickelt, mit denen der Cougar wesentlich mehr machen kann, als dies aus
dem jeweiligen Spiel heraus möglich wäre. Diese Dateien findet Ihr auf der CD,
und sie können mittels des Cougar Control Panels in den Joystick geladen
werden. Aber es gibt noch einen einfacheren Weg, bzw. zwei, um genau zu sein,
und zwar mittels Foxy oder FoxyGUI.
HOTAS Cougar Referenz - Buch
41
THRUSTMASTER
Foxy: Geht in das Favoriten-Menü des Editors und klickt auf das Spiel, für
welches Ihr Euren Cougar einrichten wollt. Dies öffnet zwei Dateien in Foxy, die
Joystick-Datei links und im Vordergrund, und die Makro-Datei rechts. Im Moment
braucht Ihr sonst nichts weiter zu machen. Nun geht in das Download-Menü und
ladet diese Dateien in Euren Joystick. Dies programmiert Euren Cougar mit den
soeben geöffneten Dateien. Das war’s! Ihr könnt loslegen. Euer Cougar ist für
das Spiel eingerichtet. Ihr könnt auch auf die Schaltflächen Graphische Übersicht
und/oder Zeige ReadMe der Toolbar (die zweite unten) klicken, um zu sehen,
was der Entwickler dieser Dateien über ihre Verwendung zu sagen hat, sei es als
Bild oder Text.
FoxyGUI: Noch einfacher. Folgt einfach den Anweisungen von FoxyGUI. Wie
zuvor wählt Ihr das Spiel, welches Ihr spielen möchtet, klickt auf „Download“, und
verlasst FoxyGUI anschließend, um Euer Spiel zu genießen. Auch hier könnt Ihr
Euch ein Bild oder einen Text zur gewählten Datei anzeigen lassen, indem Ihr die
entsprechenden Schaltflächen anklickt.
Tipp vom Übersetzer: Im Internet gibt es Unmengen von Dateien zum
Download, zumindest für die letzten Generationen von Thrustmaster Joysticks.
Für den HOTAS Cougar wird natürlich Cougar World die richtige Anlaufstelle
sein, daher meine Aufforderung: bedient Euch, und teilt auch Eure Dateien mit
den anderen Katzen-Liebhabern!
Stufe 3: die Zähmung der Bestie
Es gibt eine Fülle von Hilfen, die wir entwickelt haben, um Euch die
Programmierung des Cougars beizubringen – sucht Euch aus, was Euch am
besten passt.
1. Sowohl der nächste Teil dieses Handbuchs (2.1 – Grundlagen der
Thrustmaster Programmierung), wie auch Foxy's Hilfe-Datei, stellen Euch die
Grundlagen der Programmierung des Cougar vor, und sie lassen sich sehr
einfach lesen und verstehen.
2. Probiert einfach mal die in Foxy's Wizards-Menü zu findenden MakroAssistenten, gefolgt vom Joystick-Assistenten, aus. Viele Leute haben nur
durch diese beiden sehr einfachen Assistenten die Programmierung ihrer TMController erlernt.
3. Im angesprochenen Wizards-Menü finden sich auch Tutorials, welche
Schulungsdateien in Foxy öffnen, die Euch diese Grundlagen und alles weitere
erklären und beibringen. Ihr könnt diese Dateien laden und dann verändern,
um die Auswirkungen zu sehen – ein großartiger Weg, die Programmierung zu
lernen.
HOTAS Cougar Referenz - Buch
42
THRUSTMASTER
4. FoxyGUI ist eine einfache Möglichkeit, Euren Cougar zu programmieren, und
erklärt auch, wie die Dateien aussähen, wenn Ihr sie mittels Foxy erstellt hättet.
Irgendwann werdet Ihr wahrscheinlich ganz zu Foxy wechseln wollen, wenn Ihr
vorher nur FoxyGUI benutzt habt, da es mehr Möglichkeiten bietet und auch
schneller zu benutzen ist, wenn die Grundlagen einmal verstanden sind.
5. In Foxy könnt Ihr jederzeit F1 drücken, um die Online-Hilfe angezeigt zu
bekommen, oder nach Markierung eines Wortes in Eurer Joystick-Datei eine
Direkt-Hilfe zu diesem Begriff. Die Hilfe-Datei ist umfangreich, voller nützlicher
Informationen, und behandelt ausführlich alle in diesem Handbuch erklärten
Themen.
6. Macht Euch mit dem Composer und Korgy aus Foxy's Einfügen-Menü
vertraut… mit diesen beiden Bestandteilen von Foxy werdet Ihr das Handbuch
eher selten benötigen.
Einen Punkt kann ich allerdings gar nicht oft genug wiederholen: die
Programmierung des Cougars ist sehr, sehr einfach. Gönnt Euch ab und zu einen
Blick in die umfangreiche Hilfe, die wir Euch anbieten, und Ihr werdet die Früchte
in kürzester Zeit ernten können. Und seid Ihr erst einmal vertraut mit dem Textbasierten Ansatz dieser Programmierung, mit allen ihren Vorteilen, so werdet Ihr
niemals wieder zur reinen graphischen Zuweisung von Funktionen einfacherer
Controller zurück wollen.
Anmerkung des Übersetzers:
Stufe X: der Lauf der Evolution
Erst dieser Text-basierte Ansatz ermöglicht es überhaupt, wirklich anspruchsvolle
Programme zu schreiben. Ich rede natürlich von meinem eigenen Steckenpferd,
dem Zen (oder Kamasutra, sucht es Euch aus) der Joystick-Programmierung
(und diesmal meine ich wirklich „Programmierung“): den von mir entwickelten
variablen Joystick-Dateien, die ihre Programmierung je nach Situation
automatisch den derzeitigen Erfordernissen anpassen. Da diese Techniken nicht
Cougar-spezifisch sind – allerdings auch für diesen gelten – möchte ich in diesem
Referenz-Buch nicht weiter darauf eingehen; solche Dateien für die älteren
(SW)F22 finden sich auf meiner Homepage Thrustmaster X-Files; entsprechende
Dateien für den Cougar werden folgen, wie auch eine umfassende
Dokumentation zu diesem zwar komplexen, aber vor allem faszinierenden
Thema.
An einem kurzen Beispiel möchte ich Euch allerdings schon vorab eine Idee von
den unglaublichen (im wahrsten Sinne des Wortes) Möglichkeiten vermitteln:
Beide Teile der Hubschrauber-Simulation „Enemy Engaged“ bieten die üblichen
Zielerfassungs-Systeme mit den entsprechenden MFD-Seiten: die TADS-Seite ist
für alle elektro-optischen System, wie FLIR, DTV bzw. LLLTV und DVO,
HOTAS Cougar Referenz - Buch
43
THRUSTMASTER
zuständig, und für die Radar-Systeme des FCR gibt es zwei weitere Seiten,
jeweils für das Luft-Luft- und das Luft-Boden-Radar.
Das „übliche“ Vorgehen zur Zielerfassung ist also, zunächst mittels der mit dieser
Funktion belegten Joystick-Taste in die MFD-Ansicht zu wechseln, mittels einer
anderen Joystick-Taste das gewünschte Zielerfassungs-System auszuwählen,
danach die entsprechende MFD-Seite aufzurufen, um schließlich wiederholt die
für die Zielauswahl zuständige Joystick-Taste zu drücken, bis ein geeignetes Ziel
aufgeschaltet werden kann – ohne auch nur ein einziges Mal die Hände vom
Joystick nehmen zu müssen (eben HOTAS) oder den Blick vom Monitor
abzuwenden: Dank und durch Thrustmaster ist dies möglich seit 1992, also
nunmehr immerhin 10 Jahren!
Was könntet Ihr mehr wollen?
Wie wär’s damit: Ihr drückt die Zielauswahl-Taste. Punkt. Sonst nichts. Häh?
Genau!
Egal, in welchem Blick oder in welcher Kamera Ihr Euch gerade befindet, beim
Benutzen dieser einzigen Joystick-Taste aktiviert der Joystick automatisch die
MFD-Ansicht, prüft, welches Zielerfassungs-System Ihr zuletzt aktiviert habt, ruft
die entsprechende Seite auf (Tusch: das Spiel selbst hat keine solche „aktuelles
Zielerfassungs-System“-Seite!), und schaltet in einem bestimmten Intervall, z.B.
jede Sekunde, solange durch alle möglichen Ziele, bis Ihr ein geeignetes Ziel
aufgeschaltet habt – und das ist noch längst nicht alles: sobald Ihr bei Erreichen
des gewünschten Ziels die Joystick-Taste wieder los lasst, wird automatisch
wieder in genau den Blick oder die Kamera zurückgeschaltet, der vorher aktiv
war! Der Joystick weiß, welches Euer derzeitig aktives Zielerfassungs-System ist,
und kann daher je nach Situation flexibel entscheiden, welche MFD-Seite
sinnvollerweise aufzurufen ist, genauso wie er weiß, ob Ihr Euch in diesem
Moment im Cockpit umseht oder eine – sogar welche – externe Kamera-Sicht
verwendet!
Neugierig? Vielleicht ein zusätzlicher Anreiz, sich eingehender mit Eurem neuen
Spielzeug zu befassen – und Ihr werdet schnell feststellen, dass der HOTAS
Cougar alles ist, nur genau das nicht!
Doch egal, auf welcher Stufe Ihr Euch auch befindet: schon die Tatsache, dass
Ihr diese Übersetzung lest, qualifiziert Euch, den HOTAS Cougar voll und ganz
zu nutzen: genauso, wie zum Erwerb des Führerscheins eine KFZ-MechanikerLehre nicht nötig ist, sondern es jedem selbst überlassen bleibt, ob er gerne
selber schraubt oder schrauben lässt, ist es vollkommen Wurscht, ob Ihr jetzt
oder später selbst programmieren lernt, oder Euch einfach im Internet mit den
nötigen Dateien für Eure Spiele versorgt! (Genau so haben wir „alten Säcke“
schließlich auch einmal angefangen – damals, als die Dinosaurier noch... ich
schweife ab: muss daran liegen, dass ich diese Zeilen nur einen Steinwurf vom
Neandertal entfernt tippe...)
HOTAS Cougar Referenz - Buch
44
THRUSTMASTER
2. GRUNDLAGENVERSTÄNDNIS
2.1
Grundlagen der TmTm-Programmierung
2.1.1 Einfuehrung
Wenn es um Programmierbarkeit geht, haben Thrustmaster Flugsteuerknüppel und
Schubkontrollen schon immer die Meßlatten, an denen sich andere Controller messen
lassen mussten, vorgegeben. Unglücklicherweise hatten sie auch den Ruf, schwierig
zu programmieren zu sein, wahrscheinlich aufgrund der Tatsache, dass die
mitgelieferte Software auf DOS basierte, und weil die Anwender einfach nicht darauf
vorbereitet waren, sich die nötige Zeit für die „Hausaufgaben“ für das Verständnis
dieser Controller nehmen zu müssen. Seid daher versichert, dass die
Programmierung dieser Controller diesmal wesentlich einfacher sein wird, als das
Erlernen der heutigen, komplexen Flugsimulationen.
Im folgenden werden wir mit den Grundlagen beginnen, davon ausgehend, dass Ihr
bisher noch keine Erfahrung mit Thrustmaster-Joysticks und ihrer Programmierung
hattet. Es mag etwas unglücklich sein, den Ausdruck „Programmierung“ zu verwenden
– ein Begriff, der normalerweise eher mit der Entwicklung von Software und
komplexen Programmier-Sprachen in Verbindung gebracht wird. Was wir tatsächlich
mit der Thrustmaster-„Programmierung“ machen werden, ist die Erstellung von
Dateien, die den Joystick-Tasten von Joystick und Schubkontrolle TastaturKommandos zuweisen.
2.1.2 Das Konzept von HOTAS
Man könnte für jede Flugsimulation alle Waffen, Ansichten, usw. komplett nur über die
Tastatur steuern. Um dies etwas realistischer zu gestalten, könnten wir einen Joystick
und eine Schubkontrolle, vielleicht sogar noch Ruderpedale hinzufügen, gemeinhin
unter dem englischen Sammelbegriff „controller" zusammengefasst. Leider müsstet Ihr
allerdings immer noch den Blick vom Monitor abwenden, um die verschiedensten
Tasten auf Eurer Tastatur zu drücken. Aber was wäre denn, wenn wir noch ein paar
Joystick-Tasten und Hütchen auf den Joystick packen würden, die, wenn sie gedrückt
werden, genau das Gleiche machten, als wenn Ihr eine Taste auf Eurer Tastatur
drückt? Dann bräuchtet Ihr Eure Hände niemals vom Joystick zu nehmen, denn Ihr
würdet Eure Tastatur eigentlich gar nicht mehr brauchen, sondern könntet Euch ganz
auf’s Fliegen konzentrieren, die Auswahl der Waffen, usw. Das ist das „HOTAS“Konzept, ein eingetragenes Warenzeichen von Thrustmaster, welches Euch
ermöglicht, Eure Hände jederzeit auf Joystick und Schubkontrolle zu belassen, auf
englisch: Hands On Throttle And Stick.
HOTAS Cougar Referenz - Buch
45
THRUSTMASTER
2.1.3 Wie erreichen wir HOTAS fuer unsere Spiele?
Ziemlich einfach – wir Programmieren unsere Controller so, dass sie die Tastatur und
die Tasten, die in einer Flugsimulation gedrückt werden müssen, imitieren. Dies
erreichen wir durch zwei Dateien, die Joystick-Datei, welche bestimmt, welche
Joystick-Tasten und Hütchen Ihr mit Tastatur-Kommandos belegen wollt, und die
Makro-Datei, welche „Makros“ enthält, welche nichts anderes sind, als einfache
Beschreibungen dessen, was die Tastatur-Tasten in einer bestimmten Flugsimulation
zu tun haben. Fangen wir also mit der Vorstellung dieser beiden Dateien an.
2.1.4 Vorstellung der Joystick-Datei - Grundlagen der Programmierung
Wie bereits angesprochen, dient die Joystick-Datei
der Zuweisung von Tastatur-Kommandos für die
verschiedenen Joystick-Taste und Hütchen auf Euren
Controllern. Nun, irgendwie führt diese Bezeichnung
als “Joystick”-Datei ein wenig in die Irre. Sie
programmiert nicht nur den Joystick. Die JoystickDatei programmiert alle Eure Controller – d.h. Euren
Joystick und die Schubkontrolle, und auch die
Ruderpedale, falls Ihr welche habt.
Die Tasten und Hütchen auf Eurem Joystick und der
Schubkontrolle haben spezielle Namen, um sie auseinander zuhalten, wenn wir sie
programmieren wollen. Ich will Euch jetzt nicht direkt mit einer kompletten Auflisten
verschrecken. Tatsächlich werdet Ihr sie gar nicht direkt lernen müssen, da dies Foxy
mit seinem Composer für Euch erledigen wird. Allerdings werde ich Euch einige
wenige dieser Namen vorstellen, während ich Euch in die Grundlagen der
Programmierung einführe. Also los!
Angenommen, wir wollten die Joystick-Taste S2 mit der “Autopilot”-Funktion belegen.
Auf der Abbildung könnt Ihr sehen, welche Joystick-Taste S2 ist. Es handelt sich um
den obersten roten Knopf auf dem Kopf des Joysticks, direkt links vom großen
Hütchen mit der Bezeichnung Hütchen 1. Um wieder auf die Joystick-Taste S2
zurückzukommen, wollen wir diese also so programmieren, dass sie den Autopiloten
steuert. Lasst uns also festhalten, dass Ihr normalerweise die Taste „a“ auf Eurer
Tastatur drücken müsstet, um den Autopiloten an- bzw. wieder auszuschalten – dies
ist in den meisten Flugsimulation so üblich.
Wir müssen also den Joystick veranlassen, diese Tastatur-Taste “a” jedes mal, wenn
wir die Joystick-Taste S2 drücken, auszugeben. Nun, in der Joystick-Datei, welche nur
eine einfache Text-Datei ist, werden alle Joystick-Tasten, also die Tasten und
Hütchen, durch den Ausdruck „BTN" angesprochen, und in diesem Falle beziehen wir
uns auf die Joystick-Taste S2. Wir möchten, dass BTN S2 ein „a" sendet. Hier ist also
der Befehl, den wir in unsere Joystick-Datei eingeben müssen, um die Joystick-Taste
S2 so zu programmieren, dass sie ein „a“ ausgibt, wenn sie gedrückt wird:
BTN S2 a
HOTAS Cougar Referenz - Buch
46
THRUSTMASTER
Einfach, oder? Lasst uns nun eines der Hütchen so programmieren, dass es an seiner
oberen Position, also wenn es nach vorne gedrückt wird, die Funktionstaste F1 der
Tastatur emuliert. In vielen Flugsimulationen ist das die Taste für „Blick vorwärts“.
Tatsächlich sind alle Hütchen eigentlich auch nur Tasten, mit je einem Schalter für
jede mögliche Position, so dass wir sie wie zuvor mit einem Joystick-Tasten-Befehl
(BTN) programmieren können. „HÜTCHEN 1 Hoch (Up)” wird abgekürzt mit H1U, so
dass der gesuchte Befehl der folgende wäre:
BTN H1U F1
Diese Befehle sind also die Grundlage jeder Thrustmaster-Programmierung.
Nun gibt es in den heutigen, modernen Flugsimulationen teilweise über 100
verschiedene Tasten-Kombinationen zur Steuerung. Diese alle zu behalten kann leicht
ein Albtraum werden. Nun, wir könnten eine Anmerkung (Remark) (REM) als kleine
Erinnerung, was jede Joystick-Taste bewirkt, anfügen. So zum Beispiel:
BTN S2 a REM schaltet Autopilot an und aus
BTN H1U F1 REM Blick vorwärts
Es gibt allerdings eine bessere Möglichkeit, die Verwendung von sogenannten
“Makros” und einer Makro-Datei. Bevor wir mit diesen weiter machen, sei noch
angemerkt, dass der REM-Befehl überall in einer Datei verwendet werden kann, und
dass alles, was ihm in der gleichen Zeile folgt, vom Joystick ignoriert wird. Er wird
häufig am Anfang von Dateien für den Titel, allgemeine Beschreibungen und
Kommentare, usw. benutzt.
Lasst uns also weiter machen... „zur Unendlichkeit und weiter!“ Na ja… zumindest mit
der Makro-Datei!
2.1.5 Vorstellung der Makro-Datei – Grundlagen der Programmierung
Ehe wir uns genauer mit der Makro-Datei befassen, lasst uns erst einmal festhalten,
was ein Makro überhaupt ist. Im vorangegangenen Kapitel haben wir uns mit der
Joystick-Datei beschäftigt, was uns zu zwei Befehlen (Statements) führte:
BTN S2 a REM schaltet Autopilot an und aus
BTN H1U F1 REM Blick vorwärts
Also, ein Makro ist eine Bezeichnung, die wir zur einfacheren Erinnerung dessen, was
eine einzelne oder mehrere Tastatur-Taste(n) eigentlich in einer Flugsimulation
machen, vergeben. So zum Beispiel:
Autopilot = a
Blick_vorwaerts = F1
HOTAS Cougar Referenz - Buch
47
THRUSTMASTER
Dadurch können wir die Befehle in unserer Joystick-Datei folgendermaßen ändern:
BTN S2 Autopilot
BTN H1U Blick_vorwaerts
Auf den ersten Blick ist vielleicht nicht offensichtlich, warum dieser Weg der bessere
ist, aber glaubt mir: wenn Ihr eine Joystick-Datei mit über 100 verschiedenen Befehlen
habt, ist es auf diese Weise wesentlich einfacher, die Datei durchzugehen und zu
verstehen.
Und wohin stecken wir denn nun diese Makros?
Nun, sie stehen in einer eigenen Datei, eben der „Makro”-Datei. Also enthält die
Makro-Datei alle für eine Flugsimulation nötigen Makros, die beschreiben, was jede
Taste oder Tasten-Kombination eigentlich bewirkt, und in der Joystick-Datei werden
diese Makros dann den gewünschten Tasten und Hütchen des Joysticks und der
Schubkontrolle zugewiesen. Daher werdet Ihr normalerweise Thrustmaster-Dateien
immer paarweise vorfinden, bestehend aus eben einer Joystick- und ihrer Makro-Datei
für ein spezielles Spiel. Deshalb ist das Hauptfenster von Foxy der Editor, in welchem
die Joystick- und die Makro-Datei auf getrennten Reitern angezeigt werden.
Angenommen, unser kleines Beispiel wäre für die Flugsimulation Falcon 4 gedacht,
dann könnten wir die Joystickdatei als Falcon 4.tmj und die Makro-Datei als Falcon
4.tmm (tmj = Thrustmaster Joystick-Datei, tmm = Thrustmaster Makro-Datei)
abspeichern.
2.1.6 Woher weiss die Joystick-Datei, welche Makro-Datei ihre
Makros enthaelt?
Also, wir haben nun die Grundlagen von Joystick- und Makro-Dateien behandelt, und
hoffentlich habt Ihr gesehen, dass sie überhaupt nicht schwierig zu verstehen oder zu
erstellen sind. Wenn Ihr also wie ich so um die 30 Flugsimulationen habt, dann heißt
das natürlich auch, dass Ihr 30 Joystick- und 30 Makro-Dateien habt, alle in Foxy’s
Dateien-Verzeichnis.
Wie also schon die Überschrift dieses Kapitels fragt: “Woher weiß die Joystick-Datei,
welche Makro-Datei ihre Makros enthält?“ Nun, im Moment tut sie es nicht. Wir
müssen ihr angeben, welche Makro-Datei sie verwenden soll. Um also unsere
einfache Joystick-Datei zu vervollständigen, müssen wir ihr jetzt sagen, welche MakroDatei die zu verwendenden Makro-DEFinitionen (MDEF) enthält. Immerhin könnte in
der einen Makro-Datei die Taste „w“ für die Rad-Bremsen (wheelbrakes) zuständig
sein, in einer anderen aber vielleicht das “b” (wheelbrakes). Dies erreichen wir mittels
eines Befehls in der Joystick-Datei, welcher festlegt, welche Makro-Datei von eben
dieser speziellen Joystick-Datei verwendet werden soll, wie z.B. auf der folgenden
Seite:
HOTAS Cougar Referenz - Buch
48
THRUSTMASTER
USE MDEF Falcon 4.tmm
Dann liest Foxy die USE MDEF Zeile (use = benutze/verwende) beim Öffnen der
Joystick-Datei, sucht sich die entsprechende Makro-Datei, in diesem Beispiel
Falcon 4.tmm, und verwendet die dort enthaltenen Makros zur Programmierung
dieser Joystick-Datei.
2.1.7 Zusammenfassung des bisher Gelernten …
Lasst uns also mal schauen, wie unsere Joystick- und Makro-Datei langsam
Gestalt annehmen.
Joystick-Datei
(Falcon 4.tmj)
REM ---------------------------------------------REM
Falcon 4.tmj
REM
Falcon 4 joystick file
REM
REM Rem-Befehle machen gar nichts.
REM Wir nutzen sie, um Kommetare
REM einzufügen.
REM ----------------------------------------------REM Wir sagen der Joystick-Datei,
REM welche Makro-Datei die Makros
REM enthält
Makro-Datei
(Falcon 4.tmm)
REM ---------------------------------------------REM
Falcon 4.tmm
REM
REM
Falcon 4 Makro file
REM ---------------------------------------------REM Makros machen es uns wesentlich
REM einfacher, uns zu erinnern,
REM welche Tastatur-Tasten für welche
REM Funktionen in unserer FlugREM Simulation zuständig sind.
REM Makro-Definitionen beginnen hier
USE MDEF Falcon 4.tmm
REM Jetzt beginnen wir mit der
REM Zuweisung von Makros aus der
REM angegebenen Makro-Datei
REM für die Joystick-Tasten und
REM Hütchen
Autopilot = a
Blick_vorwearts = F1
BTN S2 Autopilot
BTN H1U Blick_vorwaerts
Ja, ich weiß, dass diese Makros für Falkon 4 nicht stimmen – ich versuche
lediglich, das Prinzip zu zeigen!
HOTAS Cougar Referenz - Buch
49
THRUSTMASTER
Also gut, wir haben bisher gelernt, dass:
1.
2.
3.
4.
5.
Makro-Dateien Makros enthalten, welche schlicht beschreiben, was eine
Taste der Tastatur in einem Spiel bewirkt;
Joystick-Dateien diese Makros aus der mit ihnen verknüpften Makro-Datei
den Tasten und Hütchen von Joystick und Schubkontrolle zuweisen, und
zwar durch den BTN-Befehl;
die Joystick-Datei weiß, aus welcher Makro-Datei sie die Makros verwenden
soll, durch den USE MDEF Befehl;
REM Befehle eine einfache Möglichkeit zum Einfügen von Anmerkungen
sind;
Joystick- und Makro-Dateien ziemlich einfache Text-Dateien mit den DateiEndungen .tmj und .tmm sind, die sich im gleichen Verzeichnis Eurer
Festplatte befinden müssen. Als Voreinstellung ist dies Foxy’s DateienVerzeichnis.
2.1.8 Eine Joystick-Datei in den Joystick laden
Großartig! Wir haben die Grundlagen der Erstellung von Dateien für Eure
Controller behandelt. Bleibt die brennende Frage: “Wie bekommen wir unsere
Dateien in unsere Controller?”
Der einfachste Weg führt über die Schaltfläche
“Download" in Foxy's Toolbar, oder Ihr könntet auch
einfach dir Funktionstaste „F12" auf Eurer Tastatur
drücken. Innerhalb kürzester Zeit wird die Datei zu
Euren Controllern übertragen, oder, um die
Download
gebräuchliche
Bezeichnung
zu
verwenden,
Icon
„gedownloaded". Und das war’s – Ihr seid bereit,
loszufliegen, mit allen Joystick-Tasten genau so
programmiert, wie in Eurer Joystick-Datei festgelegt. Einfach! Bevor wir dieses
Thema verlassen, lasst mich kurz näher darauf eingehen, was beim Download
einer Joystick-Datei in Eure Controller eigentlich geschieht.
Was passiert ist folgendes: die Joystick-Datei wird an eine der ThrustmasterAnwendungen weitergereicht, den Kompilierer (Kompilierer). Dieser hat die
Aufgabe, die Joystick-Datei unter Berücksichtigung der Makro-Datei aus ihrem
reinen Text-Format in ein Format zu übertragen, welches die Controller
verstehen. Diese Umwandlung wird „Kompilierung“ genannt, und wenn diese
kompilierte Datei keine Fehler enthält, wird sie in die Controller übertragen. Der
Kompilierer benachrichtigt dann Foxy, meldet, dass alles sauber über die Bühne
gegangen ist und er die Controller in die richtige Betriebsart versetzt hat, in der
die Joystick-Tasten und Hütchen die programmierten Tastatur-Kommandos
produzieren, wenn sie gedrückt werden, und nachdem seine Arbeit damit erledigt
wäre, verabschiedet er sich und übergibt das Kommando wieder an Foxy.
HOTAS Cougar Referenz - Buch
50
THRUSTMASTER
2.1.9 Struktur von Joystick- und Makro-Datei
Ehe wir diesen einleitenden Teil verlassen und weiter gehen, sollten wir einen
kurzen Blick auf einige allgemeine Regeln der Struktur von Joystick- und MakroDateien werfen. Die folgenden Beispiele sollen dies einmal verdeutlichen. Sorgt
Euch im Moment noch nicht darum, zu verstehen, was jede Zeile genau macht.
Es geht erst einmal nur darum, überhaupt eine Vorstellung davon zu bekommen,
was eigentlich in einer Joystick-, und was in einer Makro-Datei zu finden sein
kann, und wie diese aufgebaut sind. Ich möchte lediglich darauf hinweisen, dass
die Joystick-Datei einen Bereich für Konfigurations-Befehle hat, welches später
behandelt werden wird.
Anmerkung des Übersetzers:
Die Makros der folgenden Beispiele habe ich nicht mit übersetzt, aus mehreren
Gründen:
1. Viele englische Funktions-Bezeichnungen sind allgemein bekannt und
vor allem gebräuchlich.
2. Sie lassen sich oftmals nicht eindeutig und sinnvoll übersetzen,
zumindest nicht, ohne unfreiwillige Lacher zu produzieren.
3. Sie sind in der Regel wesentlich kürzer und eindeutiger als ihre
deutschen Entsprechungen.
4. Die den Spielen beigegebenen Joystick-Setups zur einfachen
Verwendung liegen jeweils nur in englisch vor.
5. Englisch ist halt einfach die Sprache des Internets und damit auch der
Flugsimulations- und Thrustmaster-Gemeinde.
Abschnitt
Titel
Nicht nötig, aber
eine gute Idee.
KonfigurationsBefehle
(nur in der
Joystick-Datei!)
Joystick-Datei
(Falcon 4.tmj)
Makro-Datei
(Falcon 4.tmm)
Rem -----------------------------------Rem
Falcon 4.tmj
Rem
Rem
Falcon 4 Joystick-Datei
Rem
Rem letzte Änderung 02.02.02
Rem
Rem -----------------------------------Rem
Rem Konfigurations-Befehle
Rem
Rem -----------------------------------Rem
Falcon 4.tmm
Rem
Rem
Falcon 4 Makro file
Rem
Rem letzte Änderung 02.02.02
Rem
Rem -----------------------------------Rem
Rem Konfigurations-Befehle
Rem gehören nicht in die
Rem Makro-Datei!
Rem
Rem Hier beginnen die
Rem Makro-Definitionen…
USE MDEF Falcon 4
USE RATE (60)
USE TG1 AS DX1
USE S2 AS DX2
(Fortsetzung siehe nächste Seite!)
HOTAS Cougar Referenz - Buch
51
THRUSTMASTER
Rem -----------------------------------Rem
Joystick-TastenZuweisungen
Rem ------------------------------------
Command syntax
BTN H1U View_up
BTN H1D View_Down
BTN H1L View_Left
BTN H1R View_Right
Joystick-Datei
BTN S1 Cycle_MSL_hardpt
TastenZuweisungen,
BTN S2 Pickle_weapon
Achsen-Befehle,
Logische
Programmierung.
Makro-Datei
BTN S3 /U Cycle_RDRsubmode
/M Ground_Map_FOV
/D Cycle_RDRsubmode
BTN S4 /T Padlock_view
/T 2-D_cockpit
Rem -----------------------------------Rem
Throttle
Rem ------------------------------------
Makro-Definitionen
BTN T2 /T Virtual_Cockpit
/T 2-D_cockpit
BTN T3 Look_Closer
BTN T4 Padlock_Next
BTN T5 Padlock_Prev
BTN T6 Uncage
Rem -----------------------------------Rem
View control
Rem -----------------------------------View_up = KP8
View_Down = KP2
View_Left = KP4
View_Right = KP6
Rem -----------------------------------Rem
Weapons
Rem -----------------------------------Cycle_MSL_hardpt = SHF /
Pickle_weapon = SPC
Rem -----------------------------------Rem
Miscellaneous
Rem -----------------------------------Cycle_RDRsubmode = F8
Ground_Map_FOV = F9
Padlock_view = 4
2-D_cockpit = 2
Virtual_Cockpit = 3
Look_Closer = l
Padlock_Next = KP+
Padlock_Prev = KPUncage = u
Das war also eine kurze Einführung in die Grundlagen der Programmierung. Nun
ist es an der Zeit, einen genaueren Blick auf die einzelnen Befehle, die sich in
einer Joystick-Datei finden können, zu werfen. Wir beginnen mit genau dort, wo
wir angefangen haben – dem Joystick-Tasten-Befehl (BTN), den Namen der
Joystick-Tasten und Hütchen, und anschließend einer etwas tiefer gehenden
Diskussion der Makro-Datei.
HOTAS Cougar Referenz - Buch
52
THRUSTMASTER
3. Tasten-Befehle und
Makros
3.1 JoystickJoystick-TastenTasten-Befehle und -Verwendung
Der HOTAS Cougar besteht hauptsächlich aus mehreren Achsen und einer Anzahl
von Tasten, also Joystick-Tasten, Hütchen und Abzug, usw. Alles, was keine Achse
ist, kann durch einen Joystick-Tasten-Befehl (button statement) folgendermaßen
programmiert werden:
Befehl und Verwendung
BTN Joystick-Taste Tastatur-Taste/ -Kombin./ -Sequenz und/ oder Makro(s)
Wobei Joystick-Taste die zu programmierende Joystick-Taste (Taste oder HütchenPosition) benennt:
Die Schubkontrolle hat:
10 Tasten:
T1 bis T10
Der Joystick hat:
4 Hütchen:
4 Tasten:
2-stufiger Abzug:
H1 bis H4
S1 bis S4
TG1 und TG2
HOTAS Cougar Referenz - Buch
53
THRUSTMASTER
Beispiele:
BTN T3 y
BTN S2 Eject
BTN T4 Chaff Flare
BTN S4 h e l l o
Jedes Hütchen
Positionen:
hat
Rem “Verstanden, alles klar, so sei es - Amen"
Rem Guten Flug…
Rem Zeit für Ausweich-Manöver
Rem Beachtet die Leerzeichen – das ist kein Makro!
9
programmierbare
Im Allgemeinen werden meist nur die 4 HauptPositionen programmiert. Für HÜTCHEN 1 wären
das z.B.:
BTN H1U
BTN H1R
BTN H1D
BTN H1L
Look_up
Look_right
Look_down
Look_left
Doch die Zwischen-/Eck-Positionen können auch
programmiert werden:
z.B.
BTN H1UL View_UL
und die mittlere Position:
BTN H1M View_forward
ANMERKUNGEN
1.
Der BTN Befehl muss nicht unbedingt direkt am Anfang einer Zeile stehen,
allerdings ist nur ein BTN Befehl pro Zeile zulässig, und eine Joystick-Taste
kann nicht öfter als einmal on einer Datei belegt werden. Falls Ihr also
folgendes habt:
BTN S2 a b c
BTN S3 d e f
Dann sind diese Befehle vollkommen in Ordnung, doch wenn Ihr dann noch
irgendwo weiter unten in Eurer Datei diesen Befehl stehen habt:
BTN S3 g h I
wird der Kompilierer einen Fehler produzieren und Euch informieren, dass
Ihr eine doppelt bzw. mehrfach vergebene Joystick-Taste habt.
HOTAS Cougar Referenz - Buch
54
THRUSTMASTER
2.
Zwischen dem Befehl BTN und seinem angegebenen Joystick-TastenNamen muss ein Leerzeichen stehen, dieses hier:
BTNS2
würde einen Fehler produzieren.
3.
Ein Leerzeichen muss außerdem hinter dem Joystick-Tasten-Namen stehen,
also würde auch:
BTN S2a b c
einen Kompilier-Fehler nach sich ziehen.
4.
Eine Tastatur-Taste oder ein Makro wird nur ein einziges Mal beim Drücken
der programmierten Joystick-Taste produziert, unabhängig davon, ob die
Joystick-Taste weiterhin gedrückt gehalten wird oder nicht. Soll es wiederholt
werden, könnt Ihr entweder den /H „Halten”-Modifizierer (hold) oder den /A
„Auto-Wiederholen”-Modifizierer verwenden. Dies hat sich, verglichen mit
den alten, originalen TM-Dateien geändert, und soll auch so sein. Die
Modifizierer werden später behandelt.
FORTGESCHRITTENE ANMERKUNGEN
Ich werde hier mal ein wenig abschweifen, um die mittlere Position der Hütchen zu
erklären. Ich erwarte nicht, dass Ihr jetzt schon versucht, alles zu verstehen, erinnert
Euch lediglich an das, was nun folgt, falls es eines Tages in einer Eurer Dateien mal
auftauchen sollte. Die Mitte jedes Hütchens kann programmiert werden, indem man
dem Hütchen ein M anfügt, wie in obigem Beispiel. Beachtet auch, dass, wenn Ihr
eine /P, /R Modifikation (siehe auch die später folgenden Anmerkungen zu den
Schrägstrich-Modifizierern) in Verbindung mit einer der Hütchen-Positionen
verwendet, die /R Tastatur-Kommandos zur gleichen Zeit wie die der M-Position
gesendet werden. D.h., dass:
BTN H1U
/P 1
/R 2
BTN H1M a
folgendes senden würde, wenn HÜTCHEN 1 nach oben gedrückt und dann wieder
losgelassen würde:
„1”, dann „a” und „2” zur gleichen Zeit.
Um sicherzustellen, dass der Befehl für H1M erst nach H1U /R ausgeführt wird,
könnte man für diesen Befehl H1M eine Verzögerung einbauen (siehe spätere
Anmerkungen):
BTN H1M DLY(60) a
HOTAS Cougar Referenz - Buch
55
THRUSTMASTER
3.2
Thrustmaster Tastatur
Tastaturstatur-Schema
Um auf die Verwendung unserer Befehle zurückzukommen:
Befehls-Syntax (Verwendung/Schreibweise)
BTN Tasten-Name Tastatur-Sequenz und/oder Makro(s)
Lasst uns den letzten Teil genauer betrachten – Tastatur-Sequenz (Abfolge).
Wenn wir Tastatur-Tasten zuweisen wollen, sei es in Makros oder in JoystickBefehlen, muss man verstehen, dass es eine Thrustmaster-Art gibt, jede
Tastatur-Taste eindeutig zu benennen, die Thrustmaster Tastatur-Syntax. Der
Grund dafür ist, dass die Taste „5” in der Zahlenreihe auf der Haupttastatur in
einer Simulation eine vollkommen andere Funktion als die „5” auf dem
Ziffernblock recht auf der Tastatur haben kann. Wir müssen sie also voneinander
unterscheiden können, wie z.B. durch eine '5' und eine 'KP5'. Das also ist dann
die Thrustmaster-Syntax für Tastatur-Tasten:
ESC F1
`
1
TAB
q
CAPS
LSHF
a
LCTL
F2
F3
F4
2
3
4
5
w
e
s
z
r
d
x
F6
7
t
f
c
F5
6
y
g
v
LALT
F8 F9 F10
9
0
=
i
j
n
o
k
m
SCRLCK
BRK
INS
HOME
PGUP
DEL
END
PGDN
UARROW
DARROW
RARROW
p
l
,
SPC
PRNTSCRN
LARROW
u
h
b
F7
8
[
;
.
’
/
RALT
NUML KP/
F11 F12
BSP
]
ENT
RSHF
RCTL
KP*
KP7
KP8
KP9
KP4
KP5
KP6
KP1
KP2
KP3
KP0
KP.
\
KPKP+
KPENT
Der einfachste Weg, sicherzugehen, dass diese korrekt
ausgewählt werden, ist die Verwendung von Korgy, der
virtuellen Tastatur von Foxy. Diese Informationen
können auch über den Eintrag "Tastatur-Syntax" aus
dem “Hilfe”-Menü des Foxy Editors angezeigt werden.
HOTAS Cougar Referenz - Buch
56
THRUSTMASTER
ANMERKUNGEN
1. Die Schreibweise für Tasten-Kombinationen, für die Ihr Shift, ALT oder CTRL
gedrückt halten müsst, ist SHF a, ALT b, CTL c. Dies ist nicht das gleiche wie
die Verwendung von LSHF a, LALT b oder LCTL c. LSHF a ist nämlich das
gleiche, als würde man die linke Umschalt-Taste drücken und wieder
loslassen, und erst dann die „a” drücken und wieder loslassen. Der
Kompilierer benutzt stets die linke Umschalten-, ALT-, oder CTRL-Taste für
diese im Englischen “chorded keys” genannten Tasten-Kombinationen.
2. Einige Zeichen sind reserviert: ( ) { } < > und müssen mittels SHF umschrieben
werden:
( = SHF 9
) = SHF 0
{ = SHF [
} = SHF ]
< = SHF ,
> = SHF .
3. Eine gute Gewohnheit, die man sich wirklich angewöhnen sollte, ist es auch,
immer SHF, ALT oder CTL in Verbindung mit anderen Tasten zu verwenden,
anstatt sie groß zu schreiben:
BTN S1 SHF p
BTN S1 P
Beide sind korrekt und produzieren ein „P", doch ersteres ist irgendwie ein
saubererer Stil.
4. Das TM Tastatur-Schema und ihre Syntax basiert auf der US Tastatur.
Manchmal gibt es Situationen, in denen man eine länder-spezifische Taste,
die nur auf speziellen Tastaturen zu finden ist, braucht. In diesem Falle könnt
Ihr die direkten USB-Kürzel verwenden… dies wird später in diesem
Referenz-Buch noch erklärt werden und wird wohl eher selten gebraucht
werden. Da man aber ja nie wissen kann, ist diese Möglichkeit halt da! !
5. Die Syntax hat sich etwas geändert, verglichen mit dem originalen TM F22. So
entfällt z.B. das vorangestellte AUX für einige Tasten.
HOTAS Cougar Referenz - Buch
57
THRUSTMASTER
3.3
Makros und MakroMakro-Regeln
In der Einleitung haben wir das Konzept der Makros und die Makro-Datei vorgestellt.
Ich brachte zwei Beispiele, nämlich diese:
Autopilot = a
Forward_view = F1
Nachdem wir nun die Syntax für alle Tasten auf der Tastatur abgehandelt haben, seid
Ihr eigentlich schon in der Lage, eine Makro-Datei mit den Makros für Eure
Flugsimulation zu erstellen. Foxy bietet Euch dazu verschiedene nützliche Helferlein,
um Euch beim Erstellen Eurer Makros zu unterstützen und sicherzustellen, dass Eure
Makros die richtige Syntax aufweisen und sich an die folgenden Regeln halten. Diese
sind: der Makro-Assistent (Wizard), Speedy und Korgy. Siehe die Dokumentation zu
Foxy für weitergehende Informationen zu ihnen. Ehe wir mit den Makro-Regeln
weitermachen, lasst mich an dieser Stelle einen kurzen Ratschlag einwerfen. Es kann
ziemlich langweilig und anstrengend sein, über der Karte mit den TastaturKommandos eines Spiels zu hängen, während man alle Makros erstellt. Wenn das
Spiel eine Hilfe-Datei hat, seht zu, ob Ihr diese Tastatur-Belegung dort herauskopieren
und diesen Text dann in Makros umändern könnt, die den unten aufgeführten Regeln
entsprechen. Ein letzter Punkt: ich erhalte regelmäßig Dateien von Leuten, die
Probleme haben, diese Dateien erfolgreich in Ihren Joystick zu laden, weil der
Kompilierer Fehler-Meldungen ausgibt, deren Ursachen nicht immer sofort
offensichtlich sind. Aus Erfahrung habe ich gelernt, jedes Mal, wenn ich Dateien
geschickt bekomme, zuerst die Makro-Datei durchzugehen und nach falscher Syntax
durchzusehen, oder nach Makros, die die unten angeführten Regeln brechen. Und ich
würde sagen, dass 90% aller Kompilier-Fehler durch Fehler in der Makro-Datei
entstehen. Nehmt Euch also die Zeit, Eure eigenen Makro-Dateien zu erstellen, denn
dann wisst Ihr, dass sie in Ordnung sind, und sind sie erst einmal fertig, habt Ihr alle Zeit
der Welt, Eure Joystick-Datei zu erstellen!
Jetzt also zu den Regeln …
1. Makro-Namen dürfen keine Leerzeichen enthalten. Nehmt stattdessen einen
Unterstrich (_) oder ein Minus (-). Also:
Mein Makro ist = b
ist nicht erlaubt, wohingegen:
Mein_Makro_ist = b
Mein-Makro-ist = b
es sind.
2. Vergewissert Euch, dass Ihr ein Leerzeichen vor und hinter dem „=" hinter
dem Makro-Namen habt. Die beiden folgenden Makro-Definitionen:
Autopilot= a
Autopilot =a
sind falsch.
HOTAS Cougar Referenz - Buch
58
THRUSTMASTER
3. Ihr könnt die folgenden Zeichen nicht für Makro-Namen verwenden:
= < > { } ( ) ^ , Leerzeichen
Anmerkung des Übersetzers:
Zumindest < und > waren früher möglich, weshalb der Übersetzer nach Erhalt dieses
Referenz-Buches in einer Nacht-und-Nebel-Aktion die Dateien, über denen er gerade
brütete, entsprechend zu entrümpeln beschloss...
4. Versucht, Euch mit Großbuchstaben für Makro-Namen zurückzuhalten, z.B. nicht:
RADAR_RANGE_INCREASE. Obgleich das möglich ist, ist eine Datei viel
einfacher ohne zu lesen. Spart Euch die Großbuchstaben für die TM-Befehle auf
(z.B. MDEF), oder eventuell nötige Abkürzungen (z.B. HUD).
Anmerkung des Übersetzers:
Das ist ein bisschen eine Radio-Eriwan-Aussage: „Im Prinzip schon...“, zumindest,
wenn tatsächlich alles und jedes in Großbuchstaben geschrieben wird – da blickt
irgendwann wirklich keiner mehr durch! Beschränkt man sich aber auf einige wenige
Punkte, dienen Großbuchstaben wunderbar der Hervorhebung wichtiger Punkte und
können so zur Lesbarkeit einer Datei beitragen. In mittlerweile achtjähriger TMProgrammierung habe ich mir z.B. angewöhnt, allen Makro-Namen ein Kürzel
voranzustellen, da der Editor streng alphabetisch sortiert:
Schiebt es auf’s Alter, aber
Select_next_missile vor
Select_next_waypoint zu finden, irritiert – so man denn überhaupt weiß, wo
man suchen soll... Ich bevorzuge also eine Vorsortierung:
NAV:’WayPoint’_+ für „NAVigation“, und
WPN:’Arm’_+ für „WeaPonS“,
und sinngemäß weitere Kürzel für die Haupt-„Themen“, wie „TarGeTing“, „AUTOpilot“,
„CAMeras“,...
5. Bei Makro-Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden:
MeinMakro = a
meinmakro = a
sind das gleiche.
Anmerkung des Übersetzers:
Siehe Stichwort „Lesbarkeit“...
HOTAS Cougar Referenz - Buch
59
THRUSTMASTER
FORTGESCHRITTENE ANMERKUNGEN
Ich erwähne dieses für die wirklich Besessenen unter Euch!
Makros können verschachtelt werden, d.h. Ihr könnt ein Makro dazu benutzen,
ein anderes Makro aufzurufen, z.B. so:
Makro_1 = a b c
Makro_2 = Makro_1 d e f
Ihr könnt bis zu 20 Verschachtelungen pro Makro haben, also:
Makro-1 = a Makro-2
Makro-2 = b Makro-3
Makro-3 = c Makro-4
... etc...
Makro-20 = t
Aber nicht mehr als 20. Und falls Ihr so etwas versucht...
Makro-1 = a Makro-1
wird der Kompilierer sich mit folgender Fehlermeldung beschweren: “MakroSchleife zu lang; zwei Makros könnten sich gegenseitig aufrufen."
HOTAS Cougar Referenz - Buch
60
THRUSTMASTER
3.4
BefehlsBefehls-Modifizierer
Wir haben einige einfache Befehle wie diesen betrachtet:
BTN T4 a
was dazu führt, dass ein einzelnes “a” ausgegeben wird, wenn dieJoystick-Taste
T4 auf der Schubkontrolle gedrückt und wieder losgelassen wird. Ich möchte
darauf hinweisen, dass es auch den Fall geben wird, dass Ihr nicht mehr als nur
eine einzigeJoystick-Taste benötigt. Auf einer Tastatur könnt Ihr mehrereJoystickTasten drücken, um eine ganze Abfolge zu erhalten, jeweils mit einer kleinen
Pause zwischen den einzelnenJoystick-Tasten, Ihr könnt eine einzelneJoystickTaste drücken und halten, Ihr könnt sie zu Gruppen zusammenfassen, usw. Die
Voraussetzung eines erfolgreich(en) programmierbaren Controller ist, dass
er alles das nachmachen können muss, was Ihr mit einer Tastatur machen
könnt.
An dieser Stelle lernen wir deshalb die Befehls-Modifizierer kennen. Wir woollen
schließlich mehr, als nur einzelneJoystick-Tasten zu programmieren.
Befehls-Modifizierer werden verwendet, um das Verhalten von Tastatur-Tasten,
mit denen eine Joystick-Taste belegt ist, zu verändern. Es gibt sie in 5
Geschmacksrichtungen:
1. Schrägstrich (slash) Modifizierer /U, /M, /D, /I, /O, /P, /R, /T, /A, /H
BTN S4 /H b Rem Bremsen
BTN T3 /A c f Rem Chaff und Flares
2. Verzögerung (Delay) und Wiederholung (Repeat) DLY( ), RPT( )
BTN T6 1 DLY(60) 1 DLY (60) 2 Rem Request Vector For Recovery TAW
BTN S2 RPT(6) c Rem 6 chaffs please … like right now would be good!
3. Gruppierungen – der Gebrauch von Klammern ( ), { }, < >
BTN T2 (a b c)
BTN T3 {a b c}
BTN T4 /P <a b c>
/R d
4. mit DirectX-Tasten (Direct Input) arbeiten DX
USE TG1 AS DX1
BTN H2U DX1
USE ALL_DIRECTX_BUTTONS
HOTAS Cougar Referenz - Buch
61
THRUSTMASTER
5. Tastatur-Taste Drücken- und Loslassen-Kürzel (KeyDown, KeyUp) und
USB-Kürzel KD( ), KU( ), USB( )
BTN H4U KD(a) DLY(60) KU(a)
BTN H4D /P USB (D51) /R USB (U51) Rem 'Down arrow'
Wir beginnen mit den Schrägstrich-Modifizierern …
6. Ihr könnt keine reservierten TM-Bezeichnungen in Euren Makro-Namen
verwenden. Dies schließt alle TM-Bezeichnung für die Tasten der Tastatur und
die in den verschiedenen TM-Befehlen verwendeten Bezeichnungen mit ein.
Habt Ihr also in Eurer Joystick-Datei folgendes:
BTN S2 HOME
und in Eurer Makro-Datei steht:
HOME = k
werdet Ihr eine Fehler-Meldung erhalten, wenn Ihr versucht, diese JoystickDatei zu kompilieren oder in den Controller zu laden, da die Bezeichnung
"HOME" der TM-Name für die Taste HOME (POS1) auf Eurer Tastatur ist.
3.5
Schraegstrich (slash) Modifizierer
Es gibt insgesamt 10 Schrägstrich-Modifizierer, welche man in 3 Hauptgruppen
einteilen kann, je nach ihren Auswirkungen auf die Joystick-Tasten und ihre
Befehle:
Erhöhung der Anzahl der programmierbaren Positionen:
/U, /M, /D unter Verwendung des “Luftkampf” (Dogfight) Schalters (T7,
T8) auf der Schubkontrolle
/I, /O unter Verwendung der Joystick-Taste S3
Unterteilung der Makros einer Joystick-Taste:
/T Wechselschalter (Toggle)
/P, /R beim Drücken, Loslassen (Press, Release) der Joystick-Taste
sich wiederholende und nicht-wiederholende Tasten:
/A Auto-Wiederholung (Auto-repeat)
/H Halten (Hold)
HOTAS Cougar Referenz - Buch
62
THRUSTMASTER
Strukturen und Regeln der Schrägstrich-Modifizierer:
Jetzt müßt Ihr noch verstehen, wann und wo Ihr die Schrägstrich-Modifizierer
benutzen könnt und wie nicht, und in welcher Reihenfolge.
3.5.1 Erhoehung der Anzahl der programmierbaren Positionen:
Der Luftkampf (Dogfight) Schalter auf der Schubkontrolle kann in 3 verschiedene
Positionen bewegt werden – Hoch (eigentlich links) (Up) (/U), Mitte (/M), Runter
(eigentlich rechts) (Down) (/D). Ebenso kann die Joystick-Taste S3 gedrückt
(pressed in) (/I) oder nicht gedrückt (out) (/O) sein, siehe Diagramme unten. Ihr
könnt auch jede mögliche Kombination verwenden, was die Anzahl der
programmierbaren Positionen für eine Joystick-Taste/ Hütchen/ Achse bis zu
versechsfacht.
Befehls-Modifizierer
/U, /M, /D für den Luftkampf-Schalter (T7, T8) auf der Schubkontrolle
/I, /O für die Joystick-Taste S3
HOTAS Cougar Referenz - Buch
63
THRUSTMASTER
3.5.1.1 /U, /M, /D - Up, Middle, Down
Ihr könnt die Anzahl der programmierbaren Positionen für eine Joystick-Taste,
ein HÜTCHEN oder eine digitale Achse erhöhen, indem Ihr die Positionen des
Luftkampf-Schalters mitbenutzt, durch die /U, /M und /D SchrägstrichModifizierer. Ein Beispiel:
BTN H4U /U a
/M b
/D c
Wenn Hütchen 4 nach oben gedrückt wird, produziert es:
•
•
•
ein „a", wenn der Luftkampf-Schalter in seiner oberen (/U) Position ist
ein „b", wenn der Luftkampf-Schalter in seiner mittleren (/M) Position ist
ein „c", wenn der Luftkampf-Schalter in seiner unteren (/D) Position ist
Ihr müsst die /U, /M, /D Befehle in verschiedenen Zeilen stehen haben. Stehen
sie in der gleichen Zeile, verursacht das einen Kompilier-Fehler. Außerdem
müssen sie in genau der angegebenen Reihenfolge auftauchen. Also würde:
BTN H4U /D a
/M b
/U c
einen Kompilier-Fehler bewirken.
3.5.1.2 /I, /O - In, Out
Ihr könnt die Anzahl der programmierbaren Positionen für eine Joystick-Taste,
ein HÜTCHEN oder eine digitale Achse erhöhen, indem Ihr die Joystick-Taste S3
mitbenutzt, durch die /I und /O Schrägstrich-Modifizierer. Ein Beispiel:
BTN H4D /I 1
/O 2
Wenn Hütchen 4 nach unten gedrückt wird, produziert es:
•
•
eine „1", wenn gleichzeitig die Joystick-Taste S3 gedrückt ist (/I = In)
eine „2", wenn die Joystick-Taste S3 nicht gedrückt ist (/O = Out)
Kombination von /U, /M, /D mit /I, /O Modifizierern in Befehlen
Ihr könnt diese Schrägstrich-Modifizierer auch miteinander kombinieren, wie im
folgenden Beispiel:
HOTAS Cougar Referenz - Buch
64
THRUSTMASTER
BTN H4R
/U /I
/O
/M /I
/O
/D /I
/O
Engage_my_target
Break_right
Camera_right
Next_waypoint
Engine_right
View_right
Auf diese Weise kann Hütchen 4, wenn es nun nach rechts gedrückt wird, 6
verschiedene Funktionen haben, abhängig von der Position des Luftkampf-Schalters (/U,
/M, /D) und der Joystick-Taste S3 (/I, /O).
ANMERKUNGEN
1. Die /U, /M, /D Modifizierer stehen immer vor eventuell vorhandenen /I, /O
Modifizierern.
2. Ihr könnt die /U, /M, /D Modifizierer nicht auf den Luftkampf-Schalter selbst
anwenden (Tasten T7 und T8), da sie schließlich genau diese Positionen
benennen.
3. Ihr müsst die /I, /O Modifizierer in unterschiedlichen Zeilen unterbringen. Dies hat
sich im Vergleich zur ursprünglichen TM HOTAS Syntax geändert.
4. Der Modifizierer /I muss immer vor dem /O Modifizierer stehen. Also:
BTN H4D /I 1
/O 2
ist eine gültige Anweisung, doch diese beiden Befehle:
BTN H4D /O 2
/I 1
BTN H4D /I 1 /O 2
Würden beide zu einem Kompilier-Fehler führen. Dies hat sich im Vergleich zur
ursprünglichen TM HOTAS Syntax geändert.
5. Wenn Ihr die /I, /O Modifizierer auf S3 anwendet, werden normalerweise alle
Anweisungen für dessen /O Position vom Kompilierer ignoriert. Ich sage deshalb
normalerweise, weil Ihr durch den Befehl S3_LOCK (siehe spätere Anmerkungen)
auch die /O Position von S3 nutzen könnt. Falls Ihr statt S3 eine andere JoystickTaste zum Umschalten wählt, durch den Befehl USE Taste AS SHIFTBTN (siehe
spätere Anmerkungen), gilt das gleiche.
6. Falls eine Datei für Joystick und Schubkontrolle geschrieben wurde, aber nur der
Joystick angeschlossen ist, verwendet der Kompilierer nur die /M Befehle für alle
Joystick-Tasten/ Hütchen-Positionen, und ignoriert alle /U, /D Befehle.
HOTAS Cougar Referenz - Buch
65
THRUSTMASTER
FORTGESCHRITTENE ANMERKUNGEN – WIE KLEMMENDE TASTEN
VERMIEDEN WERDEN
Einige technische Anmerkungen für Euch über das, was passiert, wenn Ihr den
Status von S3 ändert (d.h. von gedrückt zu nicht gedrückt, oder anders herum),
während eine Joystick-Taste, die mit den beiden /I und /O Befehlen programmiert
wurde, gedrückt gehalten wird. Wenn die Position des Luftkampf-Schalters oder der
Joystick-Taste S3 sich ändert, geschieht im Controller folgendes:
1.
2.
3.
4.
5.
Der Cougar bemerkt die Änderung;
der Cougar überprüft, ob gerade eine Joystick-Taste gedrückt wird;
der Cougar überprüft, ob die gedrückte Joystick-Taste für diese
geänderte Situation anders programmiert ist.
Falls das zutrifft, beendet er das Makro des vorigen Status’, indem er
ein Loslassen der Joystick-Taste hinzufügt. Es werden keine TastaturKommandos ausgeführt, nur alle anderen Befehle (z.B. Befehle
bezüglich der Maus, DirectX oder der Achsen);
der Cougar befindet sich nun im neuen Modus.
HOTAS Cougar Referenz - Buch
66
THRUSTMASTER
3.5.2 Unterteilung von Makros fuer eine Joystick-Taste:
Befehls-Modifizierer
/T schaltet zwischen verschiedenen Makros für eine Taste weiter
(Toggle=Wechselschalter)
/P, /R unterscheidet zwischen dem Drücken und dem Loslassen
einer Joystick-Taste (Press, Release)
3.5.2.1 /T – Wechselschalter (Toggle) Schrägstrich-Modifizierer
Die einfachste Art, zu begreifen, was ein /T Wechselschalter macht, ist, sich ein
Beispiel anzusehen, und zu erklären, was er dort bewirkt:
BTN S2 /T a
/T b
/T c
Lasst uns annehmen, dass die Joystick-Taste S2 3 mal gedrückt würde. Beim
ersten Drücken wird ein „a“ ausgegeben, beim nächsten Drücken ein „b“, und
zum Schluss ein „c“. Wird S2 danach noch einmal gedrückt, ist es wieder ein „a”,
und das ganze Spielchen geht von vorne los: dieser Kreislauf wiederholt sich,
indem die Joystick-Taste durch ihre Makros weiterschaltet.
Es gibt 16 mögliche Schalter-Positionen je programmierbarer Position, jeweils
einschließlich ihrer /U, /M, /D, /I und /O Befehle, d.h. Ihr könntet folgendes
machen:
BTN S2 /U /I
/O
/M /I
/O
/D /I
/O
16 Wechselschalter können hier stehen
16 Wechselschalter können hier stehen
16 Wechselschalter können hier stehen
16 Wechselschalter können hier stehen
16 Wechselschalter können hier stehen
16 Wechselschalter können hier stehen
Anmerkung des Übersetzers:
D.h. also maximal 96 Funktionen je Joystick-Taste/ Hütchen-Position!
HOTAS Cougar Referenz - Buch
67
THRUSTMASTER
ANMERKUNGEN
1. Wechselschalter-Modifizierer sind nicht zulässig nach /P oder /R Modifizierern.
Hier 3 Beispiele:
Beispiel 1.
BTN TG1 /T /P a
/R b
/T c
Beispiel 2.
BTN TG1 /P /T a /T b
/R c
Beispiel 3.
BTN TG1 /P a
/R /T b /T c
Beispiel 1 ist erlaubt, aber 2 und 3
verursachen eine Fehlermeldung
des Kompilierers.
2. Ihr könnt keine /T Wechselschalter für T1 benutzen, wenn Ihr in Eurer JoystickDatei den Befehl USE T1_SENSITIVITY (siehe spätere Anmerkungen)
verwendet.
3. Ihr könnt keine /T Wechselschalter für die Positionen eines Hütchens
benutzen,
wenn
Ihr
in
Eurer
Joystick-Datei
den
Befehl
USE HATID_SENSITIVITY (siehe spätere Anmerkungen) verwendet.
4. Ihr könnt keine /T Wechselschalter in Verbindung mit Befehlen der digitalen
Achsen (siehe spätere Anmerkungen) verwenden.
5. Ihr könnt keine /T Wechselschalter in Verbindung mit Befehlen der logischen
Programmierung (siehe spätere Anmerkungen) verwenden.
6. Ein einzelner /T Wechselschalter an einer Joystick-Taste verursacht eine
Fehler-Meldung des Kompilierers. Also ist:
BTN T4 /T a
nicht zulässig, da zum weiterschalten mehr als ein /T Wechselschalter in
einem Befehl benötigt wird.
7. /T Wechselschalter können in der gleichen oder auch in verschiedenen Zeilen
stehen. Also ist auch:
BTN S2 /T a /T b /T c zulässig.
8. Man kann die Wechselschalter an ihren Ausgangspunkt zurücksetzen mit dem
Befehl RESET_TOGGLES, und man kann die Richtung ihrer Abarbeitung
umkehren mit dem Befehl REVERSE_TOGGLES, welche beide im folgenden
genauer erklärt werden.
HOTAS Cougar Referenz - Buch
68
THRUSTMASTER
9. Andere Schrägstrich-Modifizierer können mit dem /T Wechselschalter
kombiniert werden; auch solche, mit denen das in den originalen TM-Dateien
nicht möglich war. Dadurch ist auch z.B.:
BTN S2 /T a /T /H b
jetzt zulässig.
10. Wechselschalter können nicht für die Mittelpositionen der Hütchen benutzt
werden. Daher würde dieses eine Fehlermeldung des Kompilierers
verursachen:
BTN H1M /T a /T b
Anmerkung des Übersetzers:
11. Solltet Ihr trotzdem eine Wechselschalter-Funktion für die Mittelstellung eines
Hütchens unbedingt benötigen, könnt Ihr dies nur mittels logischer
Programmierung erreichen (siehe spätere Kapitel).
3.5.2.2 Zurücksetzen des Wechselschalters
Wenn Ihr den Wechselschalter wieder auf die erste Position seiner Liste
zurücksetzen wollt, könnt Ihr dies ganz einfach folgendermaßen erreichen:
Befehls-Syntax
RESET_TOGGLES
Wenn Ihr also einen Befehl habt wie diesen:
BTN S2 /I RESET_TOGGLES
/O /T 1 /T 2 /T 3 /T 4 /T 5 /T 6 /T 7 /T 8 /T 9 /T 0
und Ihr die Joystick-Taste S2 schon mehrere Male gedrückt habt, so dass Ihr nun
z.B. als nächstes die „7“ erhalten würdet, kann es vorkommen, dass Ihr eigentlich
wieder die Funktion ganz am Anfang bräuchtet. Genau das erreicht Ihr, wenn Ihr
einfach die Joystick-Taste S2 und gleichzeitig die Joystick-Taste S3 (die die
Funktion für den /I Befehl aktiviert) drückt. Die Joystick-Taste S2 wird dabei
selber keinerlei Tastatur-Tasten generieren, während S3 gedrückt gehalten wird.
Nur wenn S3 nicht gedrückt ist würde die Joystick-Taste S2 dann wieder mit
einer „1” beginnen.
HOTAS Cougar Referenz - Buch
69
THRUSTMASTER
ANMERKUNGEN
1. Dieser Befehl muss direkt nach einem /I oder /O Befehl stehen, wobei die
Wechselschalter zum entsprechenden, entgegengesetzten /I oder /O Befehl
gehören. Daher würde dies eine Fehler-Meldung verursachen:
BTN S4
/U RESET_TOGGLES
/M /T 1 /T 2 /T 3 /T 4 /T 5 /T 6 /T 7 /T 8 /T 9 /T 0
/D Irgendein_Makro
doch dies wäre in Ordnung:
BTN S4
/U Irgendein_Makro
/M /I RESET_TOGGLES
/O /T 1 /T 2 /T 3 /T 4 /T 5 /T 6 /T 7 /T 8 /T 9 /T 0
/D Noch_ein_Makro
2. Ein RESET_TOGGLES Befehl kann sonst nichts weiter in seiner Zeile stehen
haben.
3.5.2.3 Umkehren der Richtung von Wechselschaltern
Wenn Ihr die Richtung der Verarbeitung der Wechselschalter einer Joystick-Taste
umkehren wollt, könnt Ihr dies durch folgenden Befehl erreichen:
Befehls-Syntax
REVERSE_TOGGLES
BTN S2 /I REVERSE_TOGGLES
/O /T 1 /T 2 /T 3 /T 4 /T 5 /T 6 /T 7 /T 8 /T 9 /T 0
Normalerweise schaltet die Joystick-Taste S2 durch die Tastatur-Tasten 1 bis 0.
Wenn Ihr nun die Joystick-Taste S2 mit gehaltener Joystick-Taste S3 drückt,
dann geht Ihr rückwärts durch die einzelnen Wechselschalter-Schritte, und zwar
ausgehend von der derzeitigen Position des Wechselschalters.
HOTAS Cougar Referenz - Buch
70
THRUSTMASTER
ANMERKUNGEN
1. Dieser Befehl muss direkt nach einem /I oder /O Befehl stehen, wobei die
Wechselschalter zum entsprechenden, entgegengesetzten /I oder /O Befehl
gehören. Daher würde dies eine Fehler-Meldung verursachen:
BTN S4 /U REVERSE_TOGGLES
/M /T 1 /T 2 /T 3 /T 4 /T 5 /T 6 /T 7 /T 8 /T 9 /T 0
/D Irgendein_Makro
doch dies wäre in Ordnung:
BTN S4 /U Irgendein_Makro
/M /I /T 1 /T 2 /T 3 /T 4 /T 5 /T 6 /T 7 /T 8 /T 9 /T 0
/O REVERSE_TOGGLES
/D Noch_Ein_Makro
2. Ein REVERSE_TOGGLES Befehl kann sonst nichts weiter in seiner Zeile
stehen haben. Wenn wir also das obige Beispiel folgendermaßen verändern:
BTN S4 /U Irgendein_Makro
/M /I /T 1 /T 2 /T 3 /T 4 /T 5 /T 6 /T 7 /T 8 /T 9 /T 0
/O REVERSE_TOGGLES Makro_hier_verursacht_Fehler
/D Noch_Ein_Makro
verursacht das Makro nach dem REVERSE_TOGGLES Befehl eine FehlerMeldung des Kompilierers.
3.5.2.4 /P, /R – Unterscheidung zwischen Drücken und Loslassen einer
Joystick-Taste (Press, Release)
Der /P Schrägstrich-Modifizierer bewirkt, dass das nachfolgende Makro beim
Drücken der Joystick-Taste/ des Hütchens ausgeführt wird. Der /R SchrägstrichModifizierer bewirkt, dass das nachfolgende Makro beim Loslassen der JoystickTaste/ des Hütchens ausgeführt wird.
Ein Beispiel:
BTN S2 /P Chaff
/R Flare
In diesem Beispiel werden diese beiden zusammengehörigen Modifizierer auf
BTN S2 angewendet. Die Joystick-Taste S2 wird nun das Chaff-Makro beim
Drücken, und das Flare-Makro beim Loslassen senden.
HOTAS Cougar Referenz - Buch
71
THRUSTMASTER
ANMERKUNGEN
Der /R Modifizierer muss immer in Verbindung mit dem /P Modifizierer benutzt
werden. Wenn kein /P vorhanden ist, führt ein alleine stehendes /R zu einer
Fehler-Meldung des Kompilierers, wie auch andersherum.
FORTGESCHRITTENE ANMERKUNGEN
1. Wenn Ihr diese Modifizierer auf eine Hütchen-Position anwendet, während Ihr
auch dessen Mittel-Position programmiert habt, dann werden die Tasten des
/R Makros zur gleichen Zeit wie die des BTN HxM Befehls ausgegeben. D.h.
für:
BTN H1U /P 1 /R 2
BTN H1M a
werden, wenn HÜTCHEN 1 nach oben gedrückt und wieder losgelassen wird,
folgende Tasten ausgeben:
„1" und dann „a 2" gleichzeitig
2. Wenn Ihr diese Modifizierer auf die Mittel-Position eines Hütchens BTN HxM
anwendet, dann werden beim Verlassen dieser Mittel-Position die Tasten des
HxM /R Makros zur gleichen Zeit wie die zu H1U gehörigen ausgegeben. D.h.
für:
BTN H1U 1
BTN H1M /P a /R b
werden, wenn HÜTCHEN 1 nach oben gedrückt und wieder losgelassen wird,
folgende Tasten ausgeben:
„b 1" gleichzeitig und dann „a"
3. Es besteht die Möglichkeit, ungewollt „klemmende” Tasten zu produzieren,
wenn man bei den /P /R Befehlen nicht aufpasst. Nehmt z.B. folgendes:
BTN S4 /P DLY(2000) KD (p)
/R KU (p)
Ein Druck auf die Joystick-Taste S4 wird zunächst eine Verzögerung von 2
Sekunden bewirken, bevor es den Druck auf die Taste „p" der Tastatur emuliert,
und beim Loslassen der Joystick-Taste wird dann das Loslassen der „p“-Taste
ausgeführt.
Aber was geschieht, wenn Ihr Euren Finger von der Joystick-Taste S4 nehmt,
bevor diese zweisekündige Verzögerung herum ist?
HOTAS Cougar Referenz - Buch
72
THRUSTMASTER
Obwohl die Verzögerung weitergeht und das Drücken der „p”-Taste nach diesen
2 Sekunden stattfindet, findet das Loslassen der Joystick-Taste S4 und damit das
Loslassen der „p”-Taste vor diesem Drücken statt. Unglücklicherweise hat der
Joystick die Anweisung „nimm die Flossen vom ‚p’ ” gegeben, bevor Ihr
überhaupt dazu gekommen wärt, die Anweisung „ich drück’ jetzt mal das ‚p’ “ zu
geben, weshalb es so scheint, als hätte sich die „p“-Taste verklemmt. Es gibt
zwei Möglichkeiten, das zu vermeiden. Die erste ist, Euren HOTAS Cougar mit
Bedacht zu verwenden und zu programmieren. Wenn Ihr wisst, dass Ihr Euren
Finger auf einer bestimmten Joystick-Taste für eine bestimmte Zeit halten sollt,
dann tut das! Das wird immer dieses Problem der „klemmenden Tasten”
vermeiden. Die andere Möglichkeit ist, die /P Anweisung in Winkel-Klammern < >
einzuschliessen:
BTN S4 /P < DLY(2000) KD (p) >
/R KU (p)
welches dafür sorgt, dass alles innerhalb dieser Klammern komplett abgearbeitet
wird, bevor der /R Befehl ausgeführt wird, selbst, wenn Ihr die entsprechende
Joystick-Taste schon vorher loslasst. Beachtet allerdings, dass alle anderen
Makros für alle anderen Joystick-Tasten ebenfalls erst ausgeführt werden,
nachdem die < > Anweisung komplett abgearbeitet wurde. Seid also vorsichtig,
wenn Ihr diese benutzt!
HOTAS Cougar Referenz - Buch
73
THRUSTMASTER
3.5.3 sich wiederholende und nicht-wiederholende Tastatur-Tasten:
Befehls-Modifizierer
/A Auto-Wiederholung
/H Halten
3.5.3.1 Nicht-wiederholende Tastatur-Tasten
Das Verhalten von Makros und einzelnen Tastatur-Tasten auf einer JoystickTaste hat sich im Vergleich zu den originalen TM-Dateien geändert.
Grundsätzlich gilt für jede Programmierung einer Joystick-Taste und für digitale
Befehle, gleichgültig, ob sie einzelne Tastatur-Tasten oder Makros enthalten,
dass sie nicht wiederholt ausgegeben werden. Nur ein einziges mal wird die
Taste/ das Makro produziert. Für all jene, die noch die originalen TM HOTAS
gewohnt sind, ist es so, als ob ein unsichtbarer /N Modifizierer vor jedem Befehl
stünde, wenn dort sonst keiner steht.
Daher wird ein /N Modifizierer nicht weiter benötigt – er wird vom Kompilierer
ignoriert, sollte er trotzdem in einer Datei vorkommen. Ich würde empfehlen, ganz
auf ihn zu verzichten und ihn ggf. zu löschen, wenn er in Euren Dateien
vorkommt.
3.5.3.2 /A - Auto-Wiederholung
Dieser Schrägstrich-Modifizierer bewirkt genau das Gegenteil. Er erzwingt eine
ununterbrochene und fortgesetzte Ausgabe von Tastatur-Tasten/ Makros für eine
Joystick-Taste oder einen digitalen Befehl, bis die Joystick-Taste wieder losgelassen
wird.
BTN S2 /A Feuer_Rakete
Nun wird beim Drücken der Joystick-Taste S2 das Feuer_Rakete Makro wiederholt.
Es ist so, als würdet Ihr schnell und wiederholt die entsprechende Taste auf Eurer
Tastatur drücken und wieder loslassen. Wenn Ihr dann andere Joystick-Tasten des
Controllers drückt, fließen deren Tasten in den von dieser Taste verursachten Strom
mit ein, d.h. der Druck auf eine andere Joystick-Taste stoppt die von diesem
Modifizierer produzierte Ausgabe nicht. Beachtet, dass auf einen /A Modifizierer
folgende Makros aus mehreren Tastatur-Tasten bestehen können, und auch DLY
oder RPT Anweisungen enthalten können. Außerdem ersetzt der /A Modifizierer das
bisher übliche Einschließen von Tasten/ Makros durch Klammern, um ihre
Wiederholung zu erzwingen.
HOTAS Cougar Referenz - Buch
74
THRUSTMASTER
3.5.3.3 /H - Halten
BTN S4 /H b Rem Radbremsen
Ein /H Halten Befehl kann mit dem Gedrückt-Halten einer Taste auf Eurer Tastatur
verglichen werden (obwohl Ihr bitte auch die Anmerkungen weiter unten beachten
solltet). So verlangen z.B. viele Flugsimulationen das Gedrückt-Halten der Taste „b”
zur Aktivierung der Radbremsen. Sobald Ihr diese Taste wieder loslasst, gehen auch
die Radbremsen wieder aus.
Einige weitere Beispiele:
BTN S4 /H b Rem Radbremsen
BTN T6 /H Radbremsen
BTN T1 /H ALT F6
Es ist auch möglich, den /H Modifizierer in komplexeren Ausdrücken zu verwenden.
Im folgenden Beispiel bewirkt der Befehl ein einzelnes, nicht-wiederholtes „c“, gefolgt
von einem gedrückt gehaltenen „f“:
BTN S4 /H c f Rem 1 Chaff, massenweise Flares
wohingegen:
BTN S4 /H {c f} Rem Chaff und Flares
solange beide Tasten „c” und „f” gleichzeitig beim Drücken der Joystick-Taste
produziert, bis sie wieder losgelassen wird. (Siehe auch spätere Anmerkungen zu KD
und KU Befehlen.)
Interessant wird es, wenn wir uns einmal dieses Beispiel ansehen:
BTN S4 /H {C f}
Eigentlich ist ein „C” ja nichts anderes als ein „SHF c", weshalb Ihr beim
Gedrückt-Halten der LSHF-Taste automatisch ein „F“ erhalten werdet. Ihr könntet
also überhaupt kein kleines „f“ produzieren, wenn Ihr gleichzeitig über Euren
Joystick eine gedrückte „Umschalten“-Taste emuliert, um eben z.B. ein großes
„C“ zu bekommen. Nur etwas, was Ihr beachten solltet.
Praktisch ist auch die Verwendung von /H mit mehr als nur einem Makro/ Taste,
wie z.B. im folgenden Beispiel, welches es Euch erlaubt, erst eine Waffe
auszuwählen, und diese dann abzufeuern, wenn Ihr die Joystick-Taste einfach
weiter gedrückt haltet:
BTN S4 /H Waehle_Raketen DLY(600) Feuer Rem wähle Zweitwaffe, dann Feuer
HOTAS Cougar Referenz - Buch
75
THRUSTMASTER
Anmerkung des Übersetzers:
Dieses Beispiel feuert Eure Zweitwaffe allerdings auch ab, wenn Ihr die JoystickTaste S4 nur kurz, also weniger als die 600ms = 0,6s drückt, da in jedem Fall der
gesamte Befehl abgearbeitet wird. Allerdings wird erst beim Gedrückt-Halten
über 0,6s der Teil /H Feuer als gehalten produziert.
ANMERKUNGEN
1. Nun, an dieser Stelle gibt es einen wichtigen Punkt zu verstehen, nämlich den
Unterschied zwischen dem /H Modifizierer und dem /A Modifizierer. Wenn Ihr
eine Taste auf Eurer Tastatur drückt, also z.B. das „a”, dann wird
normalerweise erst eben dieses „a” produziert, dann gibt es eine kleine Pause,
und erst dann eine ganze Serie von „a”s, solange Ihr Euren Finger auf der
taste lasst, d.h. ie.: a kurze_Pause aaaaaaaaaaaaaaaaa
Das ist das gleiche, was auch der /H Modifizierer macht. Daher wird:
BTN T3 /H a
Genau das gleiche ausgeben. Wenn man allerdings diese kurze Pause
zwischen dem ersten und dem zweiten „a“ loswerden möchte, kann man dies
mit Hilfe des /A Modifizierers. Also:
BTN T2 /A b
produziert bbbbbbbbbbbbbbbbbbb ohne jede Pause.
2. Die Geschwindigkeit, mit der die Tastatur-Tasten eines /A Befehls produziert
werden, wird durch den Konfigurations-Befehl USE RATE (Zeit_ms) bestimmt.
Gibt es keine solch Angabe in einer Joystick-Datei, generiert der Kompilierer
einen USE RATE (0) Befehl und nimmt die die für Eure Tastatur eingestellten
„Typematic Rate Settings“ aus Eurem BIOS.
3. Beachtet, dass ein von mehreren Makros/ Tasten gefolgter /H Modifizierer sich
immer nur auf das letzten Ausdruck bezieht, während alle vorhergehenden
Makros/ Tasten nur ein einziges mal produziert werden. Durch den folgenden
Befehl:
BTN S2 /H a b c
wird beim Drücken von S2 also nur ein einzelnes „a” und ein einzelnes „b”
generiert, bevor „c” als gedrückt gehalten ausgegeben wird.
4. Ihr könnt keine /H oder /A Modifizierer nach einem /R Modifizierer verwenden.
HOTAS Cougar Referenz - Buch
76
THRUSTMASTER
3.5.4 Schraegstrich-Kuerzel: Regeln und Reihenfolge
Wenn Ihr Schrägstrich-Modifizierer (z.B., /T, /P, /U) verwendet, müsst Ihr einige
grundsätzliche Regeln bezüglich ihrer Verwendungsmöglichkeiten verstehen.
3.5.4.1 Schrägstrich-Kürzel: Regeln
1. Sie müssen nach der Bezeichnung der Joystick-Taste/ Hütchen-Position
stehen (d.h. BTN S2 /H).
2. Sie müssen vor dem ersten Makro stehen (d.h. BTN S2 /H EinMakro), außer
/T, welches in einem Befehl mehrfach vorkommen kann.
3. Vor und nach einem Schrägstrich-Modifizierer muss jeweils ein einzelnes
Leerzeichen stehen (siehe vorheriges Beispiel).
4. Sie müssen in einer bestimmten Reihenfolge stehen, wenn mehr als ein Typ in
einem Befehl verwendet wird (siehe „Schrägstrich-Kürzel: Reihenfolge"
unten).
5. Die /U /M /D Modifizierer müssen in separaten Zeilen stehen.
6. Die /I /O Modifizierer müssen in separaten Zeilen stehen.
3.5.4.2 Schrägstrich-Kürzel: Reihenfolge
Beim Gebrauch von mehreren Schrägstrich-Modifizierern zur Programmierung
einer Joystick-Taste oder eines Schalters ist die Beachtung der korrekten
Reihenfolge sehr wichtig. Die Reihenfolge von Schrägstrich-Kürzeln wäre wie
folgt:
1. Vorhandene /U /M /D Modifizierer stehen immer vor allen anderen
Modifizierern.
2. Vorhandene /I und /O Modifizierer (In/ Out) wären dann die nächsten..
3. Der /T Modifizierer (Wechselschalter) kommt immer vor /P /R Modifizierern.
4. Die /P und /R Modifizierer (Drücken und Loslassen) kommen danach.
5. Die /H (Halten) und /A (Auto-Wiederholen) Modifizierer kommen immer zum
Schluss.
Lasst uns mal einige Beispiele ansehen:
BTN S4
/U /I Makro6
/O Makro7
/M /P Makro8 /R Makro9
/D /T a
/T /H b c
/T /A d DLY(30) e DLY(30) f
BTN S2
/I /T /P Makro1 /R Makro2
/T /P Makro3 /R Makro4
/O /H Makro5
HOTAS Cougar Referenz - Buch
77
THRUSTMASTER
ANMERKUNGEN
Es ist kein Problem, einen Befehl offen zu lassen. Ihr braucht keinen „Null”-Befehl
wie bei den originalen TM-Dateien anzugeben. Dieser Befehl:
BTN S1 /I Ein_Makro
/O
führt nicht zu einer Fehler-Meldung des Kompilierers – er ist zulässig.
Anmerkung des Übersetzers:
Vielleicht ist das folgende Schema etwas übersichtlicher:
BTN ID DGFGT S3
(T7,T8)
BTN xy /U
/I
/M
/D
/O
...
…
HOTAS Cougar Referenz - Buch
Toggle Press/ Repeat/ macro(s)/
Release Hold
character(s)
/T
/P
/A,/H
Macro1
/R
Macro2
/T
…
Macro3
Macro4
Macro5
Macro6
78
THRUSTMASTER
3.6
Verzoegerung und Wiederholung:
Befehls-Modifizierer
DLY (Verzögerung_ms)
RPT (Anzahl_Wiederholungen)
mit:
Verzögerung: Zeit in Millisekunden (1 Sekunde = 1000 Millisekunden), wobei
Werte zwischen 0 bis 82800000 möglich sind. (Nur zur Information: 82800000
Millisekunden wären 23 Stunden!)
Anzahl: die maximal mögliche Anzahl von Wiederholungen hängt von der Länge
der betroffenen Makros der Joystick-Taste ab und liegt zwischen 2 und 127.
Lasst uns an einigen Beispielen demonstrieren, wie diese Befehle funktionieren.
3.6.1 DLY( ) : Verzoegerung (Delay)
BTN T6 1 DLY(60) 1 DLY (60) 2 Rem Request Vector For Recovery TAW
Dieser Befehl würde die Folge „1 1 2" ausgeben, jeweils mit einer Verzögerung/
Pause von 60ms zwischen den einzelnen Tasten. Aber warum sollten wir
überhaupt eine solche Pause benötigen? Flug-Simulationen und Spiele im
Allgemeinen werden immer komplexer, so dass man häufig eine ganze Gruppe
von Tasten braucht, um eine bestimmte Funktion zu erreichen. Für FlugSimulationen gilt dies häufig für die Funk-Befehle, die oft über ein umfangreiches
Menü-System zu erreichen sind, z.B. in Falcon 4:
VectorToHomePlate = q DLY(60) q DLY(60) 6
Wenn wir ein Makro ohne diese Verzögerungen hätten, wie z.B.:
VectorToHomePlate = q q 6
dann bestünde immer die Möglichkeit, dass die Simulation nicht alle dieser 3
Tasten mitbekommen würde, da der Controller sie zu schnell produzieren würde,
während die Simulation noch mit ihren eigenen Berechnungen und GrafikRoutinen beschäftigt ist. Das Einfügen von kleinen Verzögerungen zwischen den
einzelnen Tasten verlangsamt deren Generierung ein wenig, was eher dem
entspricht, was Ihr mit Euren Fingern auf einer Tastatur machen würdet, und
daher könnte die Simulation nun diese Tasten auch alle erkennen. Die Situation
wird ein wenig komplexer, je nachdem, ob ein USE RATE (Zeit_ms)
HOTAS Cougar Referenz - Buch
79
THRUSTMASTER
Konfigurations-Befehl vorhanden ist (siehe spätere Anmerkungen). Ein USE
RATE (Zeit_ms) Befehl bestimmt die Geschwindigkeit, mit welcher sich
wiederholende Tastatur-Tasten von den Controllern gesendet werden.
Also:
USE RATE (60)
BTN S1 q q 6
Ist genau das gleiche wie:
USE RATE (0)
BTN S1 q DLY(60) q DLY(60) 6
Beachtet allerdings, dass der Kompilierer automatisch ein USE RATE(0) annimmt, wenn
sonst keine Angabe in der Datei vorhanden ist.
Wenn Ihr DLY Befehle verwendet, braucht Ihr Euren Finger nicht auf der
entsprechenden Joystick-Taste zu lassen, damit der gesamte Befehl abgearbeitet
wird. Dies hier z.B.:
BTN S2 h DLY (2000) a DLY (2000) l DLY (2000) l DLY (2000) o
Führt zur Ausgabe von „hallo", mit jeweils einer zwei-sekündigen Pause zwischen
den einzelnen Buchstaben. Ihr braucht die Joystick-Taste S2 nicht gedrückt
halten, damit der ganze Befehl abgearbeitet und ausgegeben wird. Eine
interessante Anmerkung vielleicht: falls Ihr S2 zweimal innerhalb von 2 Sekunden
drückt, wäre das Resultat folgendes:
„hhaalllloo"
Dies ist eine Besonderheit dieses HOTAS Cougar – seine Fähigkeit, mehrere
Befehle parallel zu verarbeiten. Um dies zu verhindern, solltet Ihr entweder
vorsichtig sein, wie Ihr den Cougar programmiert, oder den Befehl in WinkelKlammern < > setzen.
HOTAS Cougar Referenz - Buch
80
THRUSTMASTER
3.6.2 RPT( ) : Wiederholung (Repeat)
BTN S2 RPT(6) c Rem 6 Chaffs bitte … genau jetzt wäre nett!
Der RPT Befehl bewirkt, dass die Tasten des auf RPT(nnn) folgenden Makros
wiederhold werden, wobei 'nnn' die Anzahl der gewünschten Wiederholungen angibt.
Wiederholt wird lediglich das direkt auf den RPT Befehl folgende Makro/ TastaturTaste, (d.h., eine Wiederholung kann auf eine einzelne Taste oder auf eine von
Klammern eingeschlossenen Gruppe von Tastatur-Tasten oder Makros angewendet
werden).
Das obige Beispiel produziert also beim Druck auf die Joystick-Taste S2 6 „c"s
mit der durch den Konfigurations-Befehl USE RATE(x) in dieser Datei
festgelegten Geschwindigkeit.
Einige weitere Beispiele:
BTN S1 RPT(10) a b
würde 10 „a"s senden, gefolgt von 1 „b".
BTN S1 RPT(10) (a b)
würde die Folge „a b" 10 mal hintereinander senden.
BTN S1 /A RPT(10) (a DLY(60)) DLY(2000)
würde 10 „a"s mit jeweils einer Verzögerung von 60ms zwischen jedem „a”
senden, gefolgt von einer zweiten Verzögerung von 2s, wonach es wieder von
vorne losginge.
RPT Zähler können verschachtelt werden:
BTN S1 RPT(10) a RPT(10) b
wäre ein gültiger Befehl, und:
BTN S1 RPT(10) (a RPT(10) b)
ebenfalls.
Wenn Ihr ein Makro wie dieses habt:
Makro1 = a b c
und einen Befehl wie diesen:
HOTAS Cougar Referenz - Buch
81
THRUSTMASTER
BTN S2 RPT (3) Makro1
erhaltet Ihr beim Druck auf S2 dieses:
aaabc
Um so etwas zu verhindern, solltet Ihr entweder das Makro oder die TastaturTasten in dessen Definition mit Klammern umgeben, d.h.:
BTN S2 RPT (3) (Makro1)
oder
BTN S2 RPT (3) Makro1
mit
Makro1 = (a b c)
3.7
Guppierungen - Der Gebrauch von Klammern
Befehls-Modifizierer
BTN T2 (a b c)
BTN T3 {a b c}
BTN T4 /P <a b c>
/R d
Ehe wir uns den Klammern zur Gruppierung von Makros/ Tastatur-Tasten
zuwenden, zunächst eine sehr wichtige Regel. Die Klammern ( ) { } und < > sind
reservierte TM-Bezeichnungen.
Ihr könnt sie daher nicht direkt einer Joystick-Taste/ Makros zuweisen. Statt
dessen müsst Ihr ihre umgeschalteten (shifted) Entsprechungen verwenden:
( = SHF 9
) = SHF 0
{ = SHF [
} = SHF ]
< = SHF ,
> = SHF .
Also würde ein Makro wie dieses:
Left_ToeBrake = <
eine Fehler-Meldung des Kompilierers bewirken, da die richtige Definition
folgende ist:
Left_ToeBrake = SHF .
HOTAS Cougar Referenz - Buch
82
THRUSTMASTER
3.7.1 ( ) Klammern
Klammern werden in den verschiedensten TM-Befehlen verwendet, z.B. DLY ( ),
RPT ( ), USB ( ), KU ( ), Digitalen Typ Befehlen usw., um diese Befehle
zusammenzufassen. Wir haben anhand einiger Beispiele gesehen, wie sie für die
komplexen RPT und DLY Befehle der vorherigen Seite benutzt werden:
BTN S1 /A RPT(10) (a DLY(60)) DLY(2000)
Wichtig ist in diesem Zusammenhang allerdings, dass die Verwendung von
Klammern für die originale TM-Programmierung immer auch eine Wiederholung
der Tastatur-Tasten/ Makros bewirkte. Für den HOTAS Cougar ist das nicht
länger der Fall, da wir nun den /A Modifizierer haben, und daher dienen
Klammern nun nur noch der Gruppierung und Zusammenfassung von Makros/
Tastatur-Tasten innerhalb von Befehlen. Beachtet, dass in TM-Befehlen
verwendete Klammern vom Kompilierer als „die gleichen” angesehen werden:
DLY(20), DLY(20), DLY( 20 ) usw.
Bevor wir die Klammern verlassen noch einmal der Hinweis, dass, wenn wir eine
„(" oder „)" Taste in unserer Joystick-Datei produzieren möchten, wir dies nicht
direkt durch Angabe dieser Taste können, d.h.
Makro1 = (
Makro2 = )
Alle Klammern (also auch < > { } ) sind für die TM-Programmierung reserviert, da
sie für verschiedensten Befehle benötigt werden und bestimmen, wie diese sich
verhalten.
Also, mit einem solchen Befehl:
BTN S1 Makro1
erhaltet Ihr zwar keine Fehler-Meldung, Ihr könnt das ganze also in den Controller
laden, doch Ihr werdet kein „(" erhalten. Statt dessen müsst Ihr die Tasten der
Tastatur angeben, die Ihr tatsächlich drücken müsstet, um dieses Zeichen zu
erhalten, d.h.
Makro1 = SHF 9
Makro2 = SHF 0
Erinnert Euch an die Kapitel über Makros und Makro-Regeln. Außerdem könnt
Ihr natürlich Foxy’s Korgy benutzen, um sicherzugehen, dass immer die richtige
Schreibweise für die von Euch benötigten Tasten erzeugt wird.
HOTAS Cougar Referenz - Buch
83
THRUSTMASTER
3.7.2 { } geschweifte Klammern
Die nächste Möglichkeit zur Gruppierung verwendet „geschweifte Klammern”. Dies
ermöglicht einer Gruppe von Tastatur-Tasten, als gleichzeitig gedrückt ausgegeben zu
werden. Durch geschweifte Klammern erzeugte Gruppen werden für die Verarbeitung als
eine einzige Einheit angesehen:
BTN S4 {a b c}
wird z.B. als „a” drücken, „b" drücken, „c" drücken, „a" loslassen, „b" loslassen, „c"
loslassen ausgeführt, als ob Ihr eine Taste nach der anderen erst gedrückt hättet, und
sie dann in der gleichen Reihenfolge wieder losgelassen hättet. (Denkt mal daran, was
Ihr macht, wenn Ihr CTRL ALT DEL ! benutzen müsst...)
Beachtet auch, dass Ihr eine Gruppe in geschweiften Klammern auch in Verbindung mit
einem /H Modifizierer verwenden könnt, in welchem Fall alle Tasten der Gruppe gleichzeitig
gehalten werden, bis die Joystick-Taste wieder losgelassen wird. So etwas z.B.:
BTN S4 /H {CTL ALT DEL}
ist durchaus möglich (und oft gewünscht!)
FORTGESCHRITTENE ANMERKUNGEN
1. Ihr könnt keine DLY Befehle innerhalb geschweifter Klammern benutzen.
2. Die Funktion von { } Befehlen für USB-Geräte weicht von der bisherigen für
Gameport TM HOTAS ab. Für die bisherigen TM HOTAS wurden die einzelnen
Tasten innerhalb einer durch die geschweiften Klammern { } erzeugten Gruppe in
genau der Reihenfolge, in der sie auftauchten, erzeugt, d.h.:
BTN S4 {a b c}
resultierte in „a" drücken, „b" drücken, „c" drücken, „a" loslassen, „b" loslassen, „c"
loslassen.
Für USB allerdings entspricht die Reihenfolge immer automatisch ihrer Position
gemäß der USB Definitionen, was schlicht in alphabetischer Reihenfolge bedeutet,
weshalb nun auch:
BTN S4 {c b a}
zu „a" drücken, „b" drücken, „c" drücken, „a" loslassen, „b" loslassen, „c" loslassen
führt. Trotzdem, eigentlich werden sie in Wirklichkeit alle zur gleichen Zeit,
innerhalb des selben Frames erzeugt, so dass es sich eher so verhält, als würden
die Tasten „a”, „b” und „c” auf der Tastatur zur gleichen Zeit gedrückt. Falls Ihr
tatsächlich wolltet, dass die in einer ganz bestimmten Reihenfolge gedrückt werden
sollen, müsstet Ihr die KD und KU Kürzel verwenden, was dann z.B. so aussähe:
BTN S4 KD(c) KD(b) KD(a) KU(c) KU(b) KU(a)
HOTAS Cougar Referenz - Buch
84
THRUSTMASTER
3.7.3
< > Winkel-Klammern
Die Winkel-Klammern sind neu für den HOTAS Cougar. Alles innerhalb solcher
Winkel-Klammern zwingt den Controller, diesen Befehl noch vor allen anderen zu
Ende zu führen. Schaut Euch einmal folgenden Befehl an:
BTN H1D q DLY(60) q DLY(60) 6 Rem Vector for Homeplate in Falcon 4
Es wäre höchst unglücklich, wenn während der Abarbeitung eine andere JoystickTaste gedrückt würde, da dies diese Funk-Anfrage aus Falcon 4 in etwas komplett
anderes „umleiten“ könnte. Wenn wir also daher die Befehlsfolge durch die WinkelKlammern zusammenfassen:
BTN H1D <q DLY(60) q DLY(60) 6> Rem Vector for Homeplate
würde ein einzelner Druck von Hütchen 1 nach unten zur vollständigen Abarbeitung des
gesamten Befehls führen, ohne das während dieser Zeit etwaige andere ausgeführt
würden. Dies kann sehr nützlich sein, um die sogenannten „klemmenden Tasten“ zu
vermeiden:
BTN T4 /P < DLY(2000) KD (b) >
/R KU (b)
Auf diese Art wird gewährleistet, dass beim Drücken der Joystick-Taste T4 der /P Befehl
immer komplett abgearbeitet wird, selbst wenn die Joystick-Taste T4 schon vorher wieder
losgelassen werden sollte. So wird „KU (b)", also das Loslassen von „b”, auch wirklich erst
ausgeführt, nachdem das „b" gedrückt wurde. Wenn das nämlich nicht der Fall wäre,
würde „KU (b)" ja bereits beim Loslassen von T4 ausgeführt, und die Taste „b" würde
niemals tatsächlich losgelassen werden, wodurch sie scheinbar „verklemmt“ wäre.
ANMERKUNGEN
1. Ihr könnt die Winkel-Klammern < > nicht innerhalb von geschwungenen Klammern {
} verwenden, d.h. dass dies:
BTN S2 { < a b > }
einen Kompilierungs-Fehler bewirken würde.
2. Ihr könnt die Winkel-Klammern < > nicht verschachteln, d.h. dass dies:
BTN T4 < < a b > >
einen Kompilierungs-Fehler bewirken würde.
3. Die Winkel-Klammern < > müssen nicht unbedingt den ganzen Befehl
umschliessen, d.h. dass dies:
BTN S1 a b <c d > e f
in Ordnung wäre.
HOTAS Cougar Referenz - Buch
85
THRUSTMASTER
4. Wenn wir einen Befehl wie diesen haben:
BTN S2 /H <a b c>
erhalten wir nach Ausgabe von „a” und „b” tatsächlich nur ein gehaltenes „c”,
und der erzwungene Teil des Ausdrucks wurde damit bereits abgearbeitet.
Erinnert Euch, dass ein /H Modifizierer sich bei mehreren Tastatur-Tasten
immer nur auf den letzten Teil bezieht.
5. Winkel-Klammern < > funktionieren so, dass alle anderen zur Zeit
ausgeführten Befehle auch weiterhin ausgeführt werden. Wenn Ihr also
irgendeine andere Joystick-Taste mit z.B. einem /H Befehl gedrückt haltet,
dann wird dieser Befehl weiter abgearbeitet, während Ihr die Joystick-Taste mit
den Winkel-Klammern < > drückt. Alle anderen Joystick-Tasten, die danach
gedrückt werden, führen dazu, dass ihre Befehle in den Zwischenspeicher
geschrieben werden, um ausgeführt zu werden, sobald der vorgezogene < >
Befehl komplett verarbeitet wurde. Daraus folgt, dass man mit den WinkelKlammern < > vorsichtig umgehen sollte, erst recht, wenn man lange DLY ( )
Verzögerungen innerhalb einer Winkel-Klammer < > Gruppe verwendet, da
dann sogar die Möglichkeit besteht, Eure Controller „aufzuhängen“. Siehe
dazu auch die Kapitel über Fehlerbehebung weiter hinten.
FORTGESCHRITTENE ANMERKUNGEN
Wir hatten als eines der früheren Beispiele folgendes:
BTN S4 KD(c) KD(b) KD(a) KU(c) KU(b) KU(a)
Dieser Befehl packt jedes KeyDown und KeyUp in 6 voneinander unabhängige
Frames. Wenn es jedoch eine Angabe der RATE gibt, möchte der eine oder
andere vielleicht, dass alle KeyUp Anweisungen zur gleichen Zeit erscheinen,
anstatt mit der durch die RATE angegebene Geschwindigkeit. Dies kann
folgendermaßen erreicht werden:
BTN S4 KD(c) KD(b) KD(a) KU({c b a})
so dass alle KeyUp Befehle in einem einzigen Frame abgearbeitet werden und
daher schneller erscheinen.
HOTAS Cougar Referenz - Buch
86
THRUSTMASTER
3.8
Arbeit mit und Definition von DirectX
(Direct Input) Tasten
Wenn Ihr jemals einen einfachen Joystick mit lediglich einem Feuerknopf benutzt habt,
dann werdet Ihr festgestellt haben, dass dieser in Flugsimulationen Eure Waffen
abfeuert. Er tut dies nicht, weil Ihr ihn etwa so programmiert hättet, sonder weil
Windows dem Spiel mitgeteilt hat „Dieser Joystick hat einen Abzug – entscheide
selbst, was Du damit anfängst.” Der Abzug ist lediglich eine Joystick-Taste. Solch eine
Joystick-Taste wird eine DirectX Joystick-Taste genannt – eine Joystick-Taste, deren
Funktion vom Spiel zugewiesen wird.
Konfigurations-Befehl
USE TastenName oder logischerSchalter AS DXn
Befehls-Syntax
BTN TastenName DXn
mit:
TastenName ist H1U, T6, S2 usw.
logischerSchalter ist X1 bis X32 (später in diesem Referenz-Buch behandelt)
n ist 1 bis 28
Der HOTAS Cougar besteht aus 10 analogen Achsen (mit den neuen RuderPedalen), 28 Joystick-Tasten, und einem POV HÜTCHEN (Hütchen 1). Wenn der
Cougar sich im Windows-Modus befindet, können diese Joystick-Tasten aus dem
Spiel heraus belegt werden. Dies ist möglich, da Windows dem Spiel mitteilt, welche
Möglichkeiten der Controller bietet – d.h. welche Achsen, Joystick-Tasten, POV, usw.
zur Verfügung stehen. Wenn wir den Controller programmieren, benutzen wir
Konfigurations-Befehle in der Joystick-Datei, die es uns ermöglichen, selbst zu
bestimmen, was dem Spiel gemeldet wird.
Im programmierten Modus wird zunächst standardmäßig keine der Joystick-Tasten
vom Spiel als DirectX-Taste gesehen. Wir müssen also das Spiel informieren, wenn
wir sie zuweisen möchten. Die gebräuchlichste Joystick-Taste, die als DirectX-Taste
verwendet wird, ist der Abzug:
USE TG1 AS DX1
Wir brauchen sonst nichts weiter zu tun – der Abzug wird vom Spiel erkannt und ihm wird
eine Funktion zugewiesen, normalerweise das Abfeuern der Waffen. Andere
Verwendungs-Beispiele sind:
USE H1U AS DX2
USE X4 AS DX3 Rem Zuweisung eines logischen Schalters –
siehe spätere Anmerkungen
USE T4 AS DX5
HOTAS Cougar Referenz - Buch
87
THRUSTMASTER
Wir können sogar jeden DXn Befehl mit den anderen Befehlen für Joystick-Tasten
kombinieren, um so alle (un)möglichen Dinge zu programmieren:
BTN S2 /H a DLY(2000) DX2
In diesem Beispiel wird beim Drücken der Joystick-Taste S2 zunächst ein „a” produziert,
gefolgt von einer zweisekündigen Pause, und dann wird DX2 gehalten werden. In diesem
Falle haben wir „beinahe“ die Joystick-Taste S2 als DX2 definiert, da wir ansonsten keine
USE Anweisung woanders haben. Ich sage „beinahe“, da dies nicht das gleiche ist, als
hätten wir diese:
USE S2 AS DX2
Zeile benutzt, nach welcher DX2 sofort beim Drücken von S2 generiert würde. Nach
unserem Beispiel jedoch wird DX2 erst produziert, nachdem „a DLY(2000)"
abgearbeitet wurde. Und nur dann wird die Joystick-Taste S2 die DirectX-Taste DX2
generieren.
3.8.1 USE ALL_DIRECTX_BUTTONS
Wir haben nun gesehen, wie man einzelne Joystick-Tasten als DirectX-Tasten verwendet.
Nun ist es an der Zeit, Euch den Konfigurations-Befehl USE ALL_DIRECTX_BUTTONS
vorzustellen.
Konfigurations-Befehl
USE ALL_DIRECTX_BUTTONS
Dieser verwendet alle Joystick-Tasten als DirectX-Tasten. Eine Datei mit einer solchen
Anweisung würde alle nicht-programmierten Joystick-Tasten als DirectX-Tasten
verwenden, wobei Achsen-Kurven nach wie vor modifiziert werden könnten, die Maus
noch funktionieren würde, usw. Beachtet, dass dann alle von Euch in Foxy
eingestellten Grundeinstellungen ignoriert werden.
Ihr könntet so eine sehr einfache Datei programmieren:
Rem Verwendung aller Joystick-Tasten als DirectX-Tasten:
USE ALL_DIRECTX_BUTTONS
Rem Zuweisung der Maus auf den Microstick (siehe spätere Anmerkungen):
USE MTYPE A3
Rem Verwendung von Hütchen1 auf dem Joystick zur Blick-Steuerung
USE HAT1 AS POV
Und schon hättet Ihr beim Laden einen Joystick plus Schubkontrolle mit einem
Blickwinkel-Hütchen und allen Joystick-Tasten als DirectX-Tasten, und eine Maus auf
dem Microstick. Ihr könntet dann darangehen, weitere Befehle für die Joystick-Tasten
hinzuzufügen und so schrittweise eine Datei aufbauen.
HOTAS Cougar Referenz - Buch
88
THRUSTMASTER
ANMERKUNGEN
1. Diese neue Schreibweise ersetzt den PORT Bx IS Befehl der original TM HOTAS.
2. Die voreingestellten DirectX-Zuweisungen für den Cougar im Windows-Modus sind:
DX
TM
DX
TM
DX
TM
DX
TM
1
2
3
4
5
6
7
TG1
S2
S3
S4
S1
TG2
H2U
8
9
10
11
12
13
14
H2R
H2D
H2L
H3U
H3R
H3D
H3L
15
16
17
18
19
20
21
H4U
H4R
H4D
H4L
T1
T3
T2
22
23
24
25
26
27
28
T4
T5
T6
T7
T8
T9
T10
mit HAT1 standardmäßig als POV (Point Of View = Blickrichtung) Hütchen.
3. Wenn Ihr eine USE ALL_DIRECTX_BUTTONS Anweisung in Eurer Joystick-Datei
habt, und dann eine der Joystick-Tasten programmiert, dann wird diese nicht als
DirectX-Taste
verwendet.
Der
Kompilierer
wandelt
die
Zeile
USE ALL_DIRECTX_BUTTONS durch die Zuweisung der entsprechenden DirectXTasten um:
BTN TG1 /H DX1
BTN S2 /H DX2
usw. Wenn er nun eine Programmierung für z.B. die Joystick-Taste BTN S2 findet,
dann wird er diese Joystick-Taste nicht als DirectX-Taste verwenden. Dies ist daher
ein großartiger Weg, die Mehrzahl Eurer Joystick-Tasten durch ein Spiel belegen zu
lassen, während Ihr gleichzeitig einige andere ganz nach Euren Wünschen
programmieren könnt.
4. Wenn Ihr den USE ALL_DIRECTX_BUTTONS Befehl oder jegliche Kombination
von USE MTYPE und/oder USE HATn AS POV (siehe spätere Anmerkungen)
verwendet, dann müssen diese Befehle vor jeglichem Joystick-Tasten Befehl
kommen, oder der Kompilierer wird einen Fehler melden. Erinnert Euch, dass Ihr
immer versuchen solltet, Eure Dateien zu strukturieren, so dass KonfigurationsBefehle immer vor jeglichen Joystick-Tasten und Achsen-Befehlen stehen.
5. Der USE MTYPE Befehl (welchen wir später in diesem Referenz-Buch behandeln
werden) kann die linke und rechte Maustaste den Tasten T1 und T6 der
Schubkontrolle zuweisen, und zwar abhängig vom gewählten Typ des MTYPE
Befehls. Wenn Ihr solch einen USE MTYPE Befehl und die Zeile USE
ALL_DIRECTX_BUTTONS habt, dann werden die durch den MTYPE Befehl
zugewiesenen Joystick-Tasten als Maus-Taste, aber nicht als DirectX-Tasten
verwendet.
HOTAS Cougar Referenz - Buch
89
THRUSTMASTER
Mittels MTYPE (A1 bis A5) werden die Maus-Tasten wie folgt zugewiesen:
A1: T1 = Linke Maus-Taste, T6 = Rechte Maus-Taste
A2: T1 = Rechte Maus-Taste, T6 = Linke Maus-Taste
A3: T1 = Linke Maus-Taste
A4: T6 = Linke Maus-Taste
A5: weist keine Maus-Taste zu.
6. Falls Ihr ein anderes HÜTCHEN zur Blickrichtungs-Steuerung (POV)
verwendet (wir werden dies später noch behandeln), wie z.B.:
USE HAT3 AS POV
dann wird der Kompilierer dessen Positionen keinerlei DirectX-Tasten
zuweisen
FORTGESCHRITTENE ANMERKUNGEN
1. Wenn wir noch einmal auf dieses frühere Beispiel zurück kommen:
USE TG1 AS DX1
dann übersetzt der Kompilierer diesen Befehl folgendermaßen:
BTN TG1 /P KD (DX1)
/R KU (DX1)
Da wir mittels der KD und KU Kürzel das Drücken und das Loslassen einer
Tastatur- oder eben auch DirectX-Taste gezielt unterscheiden können, lasst uns
mal dieses Beispiel ansehen:
BTN TG1 /I /A KD (DX1) DLY(50) KU (DX1) DLY (200)
/O /H DX1
Wenn also in Eurer Simulation die Waffen mittels der DirectX-Taste 1 abgefeuert
würden, dann könntet Ihr mit dem obigen Beispiel ohne S3, also nur mit dem
Abzug, ganz normal feuern, und mit S3 gedrückt würdet Ihr stoßweise feuern.
HOTAS Cougar Referenz - Buch
90
THRUSTMASTER
3.9
Verwendung von KD, KU und USB Kuerzeln
Es gibt Gelegenheiten, da Ihr mehr Kontrolle über das Drücken oder das Loslassen
einer Taste wollt, oder in der Lage sein müsst, eine ganz bestimmte Taste, die
vielleicht nur auf bestimmten nicht-US Tastaturen vorhanden ist, irgendwie direkt
anzusprechen. Dies kann folgendermaßen erreicht werden:
Befehls-Syntax
KD(Tastatur-Taste/ DX-Taste/ Maus-Taste)
KU(Tastatur-Taste/ DX-Taste/ Maus-Taste)
USB(Taste_AktionHID Kürzel)
3.9.1 KD, KU
Alle diese Befehle wurden entwickelt, um Euch eine genauere Programmierung
dessen zu ermöglichen, was passiert, wenn Ihr eine Taste auf Eurer Tastatur drückt.
Und offensichtlich drückt Ihr doch zunächst die Taste herunter (Key Down KD) und
nehmt dann Euren Finger von der Taste und erlaubt ihr, wieder hoch zu kommen (Key
Up KU). Manchmal werdet Ihr in der Lage sein wollen, noch andere Tasten zwischen
diesen beiden Ereignissen programmieren zu können. Und das könnt Ihr
folgendermaßen:
BTN H1U KD(UARROW) DLY(20) KU(UARROW)
In diesem Beispiel wird beim Drücken von HÜTCHEN1 nach oben für 20ms die
Pfeiltaste „Cursor hoch“ gedrückt und dann losgelassen. KD und KU können auf jede
Taste angewandt werden – Ihr müsst lediglich die korrekte TM Bezeichnung
verwenden.
Es ist auch möglich, mehrere Tasten innerhalb von KD, KU Befehlen miteinander zu
kombinieren.
BTN T4 KD(a b c) DLY(20) KU(a b c)
Ihr könnt KD und KU auch für DirectX-Tasten, Maus-Tasten und logische Schalter
(logische Schalter (flags) werden später in diesem Referenz-Buch behandelt). Ein
Beispiel für die linke Maus -Taste (MOUSE_LB):
BTN T6 KD(MOUSE_LB) DLY(2000) KU (MOUSE_LB)
Die Joystick-Taste T6 emuliert nun die linke Maus-Taste, und zwar für 2 Sekunden,
dann wird sie wieder losgelassen.
HOTAS Cougar Referenz - Buch
91
THRUSTMASTER
3.9.2 USB Programmierung
Außerdem besteht die Möglichkeit, jede Taste mittels ihres USB-Kürzels direkt
anzusprechen, auch wenn sie nach der eigentlichen TM-Schreibweise keine eigene
Bezeichnung hat. Dies kann besonders nützlich für nicht-US Tastaturen sein. Die
USB-Kürzel sind im Anhang 3 am Ende dieses Referenz-Buchs aufgeführt, und vor
jedem Kürzel steht entweder ein „D” für das Drücken der Taste, oder ein „U” für das
Loslassen. Ein Beispiel:
BTN T3 /P USB (D51) /R USB (U51) Rem 'Pfeil runter'
BTN T4 USB (DE1 D04 UE1 U04) Rem ‘Umschalten a’
Die USB-Kürzel dieser Beispiele produzieren Tasten-Drücke der Tastatur, und sie tun
das, indem sie diese im Speicher in verschiedene „Frames” packen. Wenn Ihr wollt,
dass diese Tasten-Drücke zur gleichen Zeit geschehen, könnt Ihr sie wie üblich in
geschwungene Klammern { } setzen. Also:
BTN T4 USB (DE1 D04) DLY (2000) USB ({UE1 U04}) Rem ‘Shift a’
Führt zum zeitgleichen Loslassen der linken „Umschalten”-Taste und des Buchstaben
„a“. Ich sollte darauf hinweisen, dass der Zeitunterschied zwischen den einzelnen
Frames sehr gering ist – ungefähr 30 Millisekunden, weshalb Ihr den Unterschied wohl
kaum merken würdet.
HOTAS Cougar Referenz - Buch
92
THRUSTMASTER
4. HÜTCHEN-Programmierung
4.1
Programmierung der JoystickJoystick-HueTCHEN
4.1.1 Programmierbare Positionen auf einem Huetchen
Hütchen haben 9 programmierbare Positionen,
auch wenn Ihr im Allgemeinen meist nur die 4
Hauptrichtungen programmieren werdet. Für
HÜTCHEN 1 wären das z.B.:
BTN H1U
BTN H1R
BTN H1D
BTN H1L
Blick_hoch
Blick _rechts
Blick _runter
Blick _links
Aber auch die Eck-Positionen können
programmiert werden:
BTN H1UL
BTN H1UR
BTN H1DL
BTN H1DR
Blick _oben-links
Blick _oben-rechts
Blick _unten-links
Blick _unten-rechts
Wie auch die Mittelposition:
BTN H1M Blick _vorwaerts
Es ist dabei wichtig zu wissen, dass alle diese programmierbaren Positionen
voneinander unabhängig sind, und dass die Eck-Positionen nicht zwangsläufig
das Produkt von was auch immer gerade auf die benachbarten Hauptrichtungen
programmiert ist sein muss. Wenn ich also die Hauptrichtungen hoch, runter,
links und rechts mit den Ziffernblock-Tasten KP8, KP2, KP4 und KP6 belege,
dann führt das Drücken des Hütchens nach oben-rechts nicht dazu, dass nun die
Tasten KP8 und KP6 gehalten würden, oder vielleicht eine 9 produziert würde. Es
wird gar nichts passieren. Natürlich hängt das von Eurer Geschicklichkeit, das
Hütchen auch direkt in diese Eckposition zu bewegen, ab.
HOTAS Cougar Referenz - Buch
93
THRUSTMASTER
4.1.2 4-wege gegen 8-wege: USE HuetchenID FORCED_CORNERS
Wenn ich für diese Eckpositionen die Kombination aus den beiden benachbarten
Hauptrichtungen erzwingen wollte, dann könnte ich den folgenden KonfigurationsBefehl benutzen:
Konfigurations-Befehl
USE HütchenID FORCED_CORNERS
mit:
z.B.
HütchenID entweder HAT1, HAT2, HAT3, HAT4
USE HAT1 FORCED_CORNERS
(Ach übrigens, es gibt da einen Befehl, den Ihr benutzen könnt, um Euch den
Gebrauch
der
Eckpositionen
etwas
zu
erleichtern:
siehe
USE
HütchenID_SENSITIVITY(nnnn) nach der Werbung ! )
Ein HÜTCHEN kann „normal” programmiert werden, oder als Maus, zur
Blickrichtungs-Steuerung (PoV = Point Of View), als Pfeil-Tasten, oder als
Ziffernblock-Nummern. Es gibt 4 spezielle Konfigurations-Befehle, die verwendet
werden können, um ein Hütchen einfach für verschiedene Zwecke einzurichten. Diese
sind:
Konfigurations-Befehl
USE HütchenID AS MOUSE (Rate) [- optionale Modifizierer]
USE HütchenID AS POV [- optionale Modifizierer]
USE HütchenID AS ARROWKEYS [- optionale Modifizierer]
USE HütchenID AS KEYPAD [- optionale Modifizierer]
wobei:
HütchenID ist entweder HAT1, HAT2, HAT3, HAT4, RADIOSWITCH
(Der RADIOSCHALTER (SWITCH) sieht zwar nicht wie ein HÜTCHEN aus, ist es
aber eigentlich, bestehend aus den Joystick-Tasten T2 (Hoch), T3 (Runter), T5
(Links), T4 (Rechts). Er unterscheidet sich leicht von den normalen 4 Hütchen, weil er
sozusagen ein eingebautes FORCED_CORNERS hat.)
Rate ist 1 bis 127 und bezieht sich nur auf den USE HütchenID AS MOUSE (Rate)
Befehl.
[-optionale Modifizierer] können verwendet werden, um das Verhalten des Hütchens
weiter zu beeinflussen. Sie bestehen aus:
REVERSE_UD, REVERSE_LR, FORCED_CORNERS, NOHOLD, KP5.
Alle diese optionalen Modifizierer können mit allen Hütchen-Befehlen verwendet
werden - siehe die entsprechenden Kapitel, oder benutzt Foxy's Composer.
HOTAS Cougar Referenz - Buch
94
THRUSTMASTER
4.1.3 Steuerung der Maus durch ein HUETCHEN.
Konfigurations-Befehl
USE HütchenID AS MOUSE (Rate) [- optionale Modifizierer]
Rate: - die Geschwindigkeit der Maus von 1 bis 127
Erlaubte optionale Modifizierer: REVERSE_UD, REVERSE_LR
z.B.
USE HAT1 AS MOUSE (2)
Ziemlich einfach, dies weist die Kontrolle der Maus HÜTCHEN 1 zu. Der Wert in
Klammern, in diesem Falle 2, bestimmt die Geschwindigkeit, mit der die Maus
über den Bildschirm wandert – ein niedriger Wert sorgt für eine gemütliche Maus,
und ein hoher Wert sorgt für eine hektischere. Wird das Hütchen in eine der
Eckpositionen bewegt, dann bewegt sich die Maus diagonal.
Wenn wir die Auf- und Ab-Bewegungsrichtung der Maus umkehren wollen, so
können wir das folgendermaßen:
USE HAT1 AS MOUSE (2) - REVERSE_UD
und sinngemäß lassen sich auch Rechts und Links vertauschen:
USE HAT1 AS MOUSE (2) - REVERSE_LR
Man kann auch beide REVERSE_Typen zusammen verwenden, wenn man
möchte:
USE HAT1 AS MOUSE (2) - REVERSE_UD, REVERSE_LR
ist ein gültiger Befehl.
ANMERKUNGEN
Es ist sogar möglich, die Maus mittels eines Hütchens zu steuern und gleichzeitig
auch mit dem Microstick, oder womit auch immer, was das angeht. Genauso ist
es möglich, ein Hütchen die Maus nur für eine bestimmte Position des LuftkampfSchalters (/U, /M, /D) auf der Schubkontrolle und/oder S3 (/I, /O) auf dem Joystick
steuern zu lassen. Dies wird ausführlich in den Kapiteln zur MausProgrammierung behandelt: Verständnis der Maus und des Microsticks.
HOTAS Cougar Referenz - Buch
95
THRUSTMASTER
4.1.4 Einrichten eines HUETCHENs zur Blickrichtungs-Steuerung (POV)
Konfigurations-Befehl
USE HütchenID AS POV [- optionale Modifizierer]
Erlaubte optionale Modifizierer: REVERSE_UD, REVERSE_LR
z.B.
USE HAT3 AS POV
Wenn Ihr die Controller im Windows-Modus verwendet, oder wenn Ihr keine
Programmierung für HÜTCHEN 1 (BTN H1x) in Eurer Joystick-Datei stehen habt,
dann funktioniert HÜTCHEN 1 automatisch als standard POV HÜTCHEN. Ein POV
HÜTCHEN ist ein spezielles 8-wege HÜTCHEN, welches in vielen Simulationen
bestimmte Funktionen übernimmt. In Falcon 4 z.B. steuert das POV HÜTCHEN die
Blickrichtung, wenn HÜTCHEN 1 nicht programmiert ist. In ähnlicher Weise wie zuvor
könnt Ihr auch hier wieder die Richtungen für Hoch/Runter und Rechts/Links
umkehren:
USE HAT4 AS POV - REVERSE_UD
USE HAT1 AS POV - REVERSE_LR
USE HAT3 AS POV - REVERSE_UD, REVERSE_LR
Ihr könnt auch die POV Positionen direkt programmieren als POVU, POVD usw.,
selbst, wenn Ihr gar kein Hütchen als POV zugewiesen habt. Ihr könnt jede
gewünschte Position programmieren (und unerwünschte auslassen). Es ist wie mit
den DX-Tasten – sie sind da, aber es braucht Programmierung, um sie zu aktivieren.
Solange die Hardware einen vorhandenen POV auf Euren Controllern entdeckt, könnt
Ihr dessen POV Positionen auch programmieren. Siehe die folgenden Anmerkungen.
ANMERKUNGEN
Wir haben gesehen, wie einfach es ist, ein Hütchen als PoV-Steuerung zu verwenden.
Aber es ist durchaus sinnvoll, darauf hinzuweisen, dass alle diese POV-Hütchen
Positionen auch direkt in einer Datei programmiert werden können. Die Bezeichnung
der Positionen des POV-Hütchens ähneln dabei denen eines normalen Hütchens. Sie
sind:
POVU, POVD, POVL, POVR, POVUL, POVDL, POVUR, POVDR
und Ihr würdet sie folgendermaßen zum Programmieren benutzen:
BTN T5 POVL
BTN T4 POVR
HOTAS Cougar Referenz - Buch
96
THRUSTMASTER
4.1.5 Verwendung eines HUETCHENs zur Emulation der Pfeil-Tasten
Konfigurations-Befehl
USE HütchenID AS ARROWKEYS [- optionale Modifizierer]
Erlaubte optionale Modifizierer: REVERSE_UD, REVERSE_LR, NOHOLD
z.B.
USE HAT2 AS ARROWKEYS
Es ist in Flugsimulationen häufig nötig, die Pfeil-Tasten des Cursor-Feldes auf ein
HÜTCHEN programmieren zu können, und das ist genau das, was dieser Befehl
macht. Die Pfeil-Tasten werden für die Dauer der Bewegung des Hütchens
gedrückt. In ähnlicher Weise wie zuvor könnt Ihr auch hier wieder die Richtungen
für Hoch/Runter und Rechts/Links umkehren:
USE HAT3 AS ARROWKEYS - REVERSE_UD
USE HAT4 AS ARROWKEYS - REVERSE_LR
USE HAT1 AS ARROWKEYS - REVERSE_UD, REVERSE_LR
Beachtet, dass, wenn Ihr das Hütchen in eine der Eck-Positionen bewegt, das
Hütchen die beiden benachbarten Pfeil-Tasten gleichzeitig generiert – es hat
sozusagen seinen eigenen, eingebauten FORCED_CORNERS Modifizierer.
Wenn Ihr nicht möchtet, dass die Pfeil-Tasten gedrückt gehalten werden, könnt
Ihr den NOHOLD Modifizierer anhängen, und zwar so:
USE HÜTCHEN3 AS ARROWKEYS - NOHOLD
Dann werden die Pfeil-Tasten nur einmal beim Bewegen des Hütchens in die
verschiedenen Positionen generiert. Wie auch schon bei den anderen optionalen
Modifizierern, können diese miteinander kombiniert werden, z.B. so:
USE HAT1 AS ARROWKEYS - REVERSE_UD, REVERSE_LR, NOHOLD
HOTAS Cougar Referenz - Buch
97
THRUSTMASTER
4.1.6 Verwendung eines HUETCHENs zur Emulation des Ziffernblocks
Konfigurations-Befehl
USE HütchenID AS KEYPAD [- optionale Modifizierer]
Erlaubte optionale Modifizierer:
REVERSE_UD, REVERSE_LR, FORCED_CORNERS, NOHOLD, KP5
z.B.
USE HAT4 AS KEYPAD
Es ist ebenfalls üblich, die Tasten des Ziffernblocks auf ein HÜTCHEN
programmieren zu wollen. Mit dem obigen Befehl veranlasst Ihr also HÜTCHEN
4, die Zahlen des Ziffernblocks zu emulieren, wobei die Eck-Positionen des
Hütchens (UL UR, DL, DR) die „Eck“-Ziffern „7 9 1 3" produzieren.
Das Problem mit dem Ziffernblock ist allerdings, dass sein Verhalten von
Simulation zu Simulation unterschiedlich ist. Nicht nur das, verschiedene
Simulationen verhalten sich auch noch vollkommen anders, je nachdem, ob
NumLOCK an oder aus ist, oder sie setzen voraus, dass es entweder an oder
aus ist. Sei’s drum, in den meisten Fällen funktioniert es, wenn man den
Ziffernblock als genau das betrachtet – zur Generierung von Zahlen.
In ähnlicher Weise wie zuvor könnt Ihr auch hier wieder die Richtungen für
Hoch/Runter und Rechts/Links umkehren:
USE HAT1 AS KEYPAD - REVERSE_UD
USE HAT2 AS KEYPAD - REVERSE_LR
USE HAT3 AS KEYPAD - REVERSE_UD, REVERSE_LR
Wir haben gesagt, dass dieser Befehl die Tasten des Ziffernblocks generiert.
Natürlich fehlt eine Taste, und das ist die „5“ (KP5). Einige Simulationen
verwenden KP5, um z.B. den Blick wieder zurückzusetzen und zu zentrieren, und
Ihr könnt den Kompilierer anweisen, solch ein KP5 für die Mittelposition des
Hütchens auszugeben, indem Ihr den optionalen Modifizierer - KP5 anhängt:
USE HAT4 AS KEYPAD - KP5
Wir können auch eine 4-wege Funktion der Eck-Positionen erzwingen:
USE HAT4 AS KEYPAD - FORCED_CORNERS
So dass HÜTCHEN 4, wenn es z.B. nach oben-rechts (UR) bewegt wird, nicht
„KP9”, sondern „KP8“ und „KP6“ gleichzeitig produziert, d.h. die Tasten für Hoch
und Rechts.
HOTAS Cougar Referenz - Buch
98
THRUSTMASTER
Das mag nicht unbedingt Sinn machen, wenn wir nur an die Emulierung von
Ziffern an sich denken, doch einige Simulationen und Spiele verarbeiten das
schon richtig.
Wenn Ihr nicht möchtet, dass die Ziffern-Tasten gedrückt gehalten werden, könnt
Ihr den NOHOLD Modifizierer anhängen, und zwar so
USE HAT3 AS KEYPAD - NOHOLD
Dann werden die Ziffern-Tasten jeweils nur einmal produziert, wenn das Hütchen
in seine verschiedenen Positionen bewegt wird..
Ihr könnt sogar alle dieser optionalen Modifizierer miteinander kombinieren, wenn
Ihr das wünscht:
USE HAT4 AS KEYPAD - REVERSE_UD, REVERSE_LR, FORCED_CORNERS,
NOHOLD, KP5
HOTAS Cougar Referenz - Buch
99
THRUSTMASTER
4.1.7 Wie der Kompilierer USE HuetchenID AS Befehle verarbeitet
Dieser Abschnitt wendet sich nur an fortgeschrittene Katzenliebhaber mit einem
ungesunden Appetit auf Details!
Ihr werdet die anderen Kapitel dieses Referenz-Buchs bereits gelesen haben
müssen, um die folgenden fortgeschrittenen Anmerkungen verstehen zu können,
aber für all jene, denen es nicht technisch genug werden kann, werde ich mich
ein wenig damit beschäftigen, wie der Kompilierer eigentlich diese ganzen USE
HATn AS irgendwas_sinnvolles Befehle zur Verarbeitung umwandelt. Wir fangen
mit dem USE HATx AS MOUSE Befehl an.
USE HAT1 AS MOUSE (2) wird vom Kompilierer umgewandelt in:
USE HAT1 FORCED_CORNERS
BTN H1U /P MSY(2-) /R MSY(2+)
BTN H1R /P MSX (2+) /R MSX (2-)
BTN H1D /P MSY (2+) /R MSY (2-)
BTN H1L /P MSX (2-) /R MSX (2+)
Sinngemäß wandelt der Kompilierer USE HAT1 AS MOUSE (2) - REVERSE_UD
um in: USE HAT1 FORCED_CORNERS
BTN H1U /P MSY(2+) /R MSY(2-)
BTN H1R /P MSX (2+) /R MSX (2-)
BTN H1D /P MSY (2-) /R MSY (2+)
BTN H1L /P MSX (2-) /R MSX (2+)
und schließlich: USE HAT1 AS MOUSE (2) - REVERSE_UD, REVERSE_LR
in:
USE HAT1 FORCED_CORNERS
BTN H1U /P MSY(2+) /R MSY(2-)
BTN H1R /P MSX (2-) /R MSX (2+)
BTN H1D /P MSY (2-) /R MSY (2+)
BTN H1L /P MSX (2+) /R MSX (2-)
Das gleiche Spiel für die ARROWKEYS: aus USE HAT2 AS ARROWKEYS
wird: USE HAT2 FORCED_CORNERS
BTN H2U /H UARROW
BTN H2R /H RARROW
BTN H2D /H DARROW
BTN H2L /H LARROW
HOTAS Cougar Referenz - Buch
100
THRUSTMASTER
Sinngemäß: USE HAT2 AS ARROWKEYS - REVERSE_UD, NOHOLD
wird konvertiert in:
USE HAT2 FORCED_CORNERS
BTN H2U DARROW
BTN H2R RARROW
BTN H2D UARROW
BTN H2L LARROW
Beachtet, wie die Positionen für Hoch und Runter miteinander vertauscht werden,
und dass die Verwendung des optionalen NOHOLD Modifizierers alle /H
Modifizierer entfernt.
Und zum Schluss betrachten wir noch die Emulation des KEYPAD (Ziffernblock):
aus: USE HAT4 AS KEYPAD
wird: BTN H4U /H KP8
BTN H4R /H KP6
BTN H4D /H KP2
BTN H4L /H KP4
BTN H4UR /H KP9
BTN H4DR /H KP3
BTN H4DL /H KP1
BTN H4UL /H KP7
und sinngemäß: USE HAT4 AS KEYPAD - REVERSE_UD, NOHOLD
wird konvertiert zu:
BTN H4U KP2
BTN H4R KP6
BTN H4D KP8
BTN H4L KP4
BTN H4UR KP3
BTN H4DR KP9
BTN H4DL KP7
BTN H4UL KP1
Beachtet, wie auch die Eck-Positionen vertauscht werden, wenn wir die Richtung
für Hoch/Runter umkehren, und dass die Verwendung des optionalen NOHOLD
Modifizierers auch hier alle /H Modifizierer entfernt.
HOTAS Cougar Referenz - Buch
101
THRUSTMASTER
Das gleiche gilt für REVERSE_LR:
USE HAT4 AS KEYPAD - REVERSE_LR
wird konvertiert zu:
BTN H4U /H KP8
BTN H4R /H KP4
BTN H4D /H KP2
BTN H4L /H KP6
BTN H4UR /H KP7
BTN H4DR /H KP1
BTN H4DL /H KP3
BTN H4UL /H KP9
Auch hier werden wieder auch die Eck-Positionen vertauscht. Wenn wir die EckPositionen erzwingen, mittels:
USE HAT4 AS KEYPAD - FORCED_CORNERS
dann wandelt der Kompilierer diesen Befehl folgendermaßen um:
USE HAT4 FORCED_CORNERS
BTN H4U /H KP8
BTN H4R /H KP6
BTN H4D /H KP2
BTN H4L /H KP4
Zu guter Letzt:
USE HAT4 AS KEYPAD - KP5
führt dazu, dass der Kompilierer einen extra:
BTN H4M KP5
Befehl anhängt. Beachtet, dass es hier keinen /H Modifizierer gibt. Das „KP5" ist
nicht-wiederholend. Das dürfte damit wohl genug sein. Lasst uns
weitermachen…. falls Ihr das nicht ohnehin schon getan habt!
HOTAS Cougar Referenz - Buch
102
THRUSTMASTER
5. Konfigurations-Befehle
5.1
Einfuehrung
Ganz zu Anfang dieses Referenz-Buchs haben wir den Aufbau einer JoystickDatei behandelt. Obwohl Programmier-Befehle überall in einer Joystick-Datei
stehen können, haben wir einen Bereich vor diesen Programmier-Befehlen
freigehalten für die Konfigurations-Befehle. Einige Konfigurations-Befehle habt Ihr
bereits kennen gelernt, wie z.B. den USE MDEF Konfigurations-Befehl. Wir
hatten uns lediglich noch nicht die Zeit genommen, zu erklären, was wir eigentlich
mit „Konfigurations-Befehle“ meinen. Das wollen wir nun, da Ihr etwas vertrauter
mit der Programmierung Eurer Controller sein solltet, an dieser Stelle nachholen.
Konfigurations-Befehle gelten für die gesamte Datei – es sind keine Befehle, die
sich nur auf bestimmte Tasten oder Schalter-Positionen beziehen, obwohl einige
auch direkt auf Joystick-Tasten mittels der entsprechenden Tasten-Befehle
programmiert werden können. Sie erklären dem Kompilierer, wie er Eure
Controller für Eure Simulationen einrichten soll. Sie beinhalten Anweisungen,
welche Makro-Datei der Kompilierer für die Makros verwenden soll, mit welcher
Geschwindigkeit die Tasten generiert werden sollen, welche Achsen
gegebenenfalls nicht verwendet werden sollen, usw. usw.
Viele dieser Konfigurations-Befehle werden ausführlich an anderer Stelle in
diesem Referenz-Buch beschrieben, und zwar jeweils in dem Zusammenhang, in
dem ihre Erklärung sinnvoll ist. Ich werde mich daher hier auf jene konzentrieren,
die nicht in aller Ausführlichkeit an anderer Stelle erläutert werden.
Die Syntax der Konfigurations-Befehle hat sich allerdings für den HOTAS Cougar
geändert – also hier die Goldene Regel:
Alle Konfigurations-Befehle beginnen entweder mit USE oder DISABLE
Alle Konfigurations-Befehle der logischen Programmierung beginnen mit
DEF
Dies ist anders als nach der bisherigen Thrustmaster Syntax. Oh – und lasst
Euch nicht gleich vom Begriff „logische Programmierung” abschrecken, auch
wenn er immer mal wieder auftaucht. Er wird hier nur der Vollständigkeit halber
erwähnt und wird sich auf die Bereiche, wo ich es anspreche, beschränken, und
wird erst ganz am Ende dieses Referenz-Buchs behandelt, da das wirklich etwas
für die Hardcore-Programmierer unter Euch ist.
HOTAS Cougar Referenz - Buch
103
THRUSTMASTER
5.2
MDEF: MakroDEFinitionsMakroDEFinitions-Datei
Konfigurations-Befehl
USE MDEF Makro_Dateiname
Dieser Befehl wird nur benötigt, wenn eine Joystick-Datei Makros enthält (was
ausdrücklich wünschenswert ist). Makro_Dateiname in einem solchen Befehl ist
der Name der Makro-Datei, mit oder ohne Datei-Endung (.tmm).
Wenn wir also z.B. eine Joystick-Datei namens „Janes WW2 Fighters.tmj” haben,
und die Makro-Datei wäre dementsprechend „Janes WW2 Fighters.tmm“, dann
müsste der MDEF Befehl folgendermaßen lauten:
USE MDEF Janes WW2 Fighters
Es ist wichtig, dass beide Dateien sich im gleichen Verzeichnis befinden, welches
laut Voreinstellung Foxy's „Files“-Ordner wäre. Obwohl es möglich wäre, die
Software dahingehend zu entwickeln, dass das nicht unbedingt nötig wäre,
glaube ich, dass dies eine praktische und sinnvolle Festlegung ist, die
beibehalten werden sollte, wie schon für die original TM HOTAS.
ANMERKUNGEN
1. Lange Dateinamen mit Leerzeichen sind zulässig.
2. Es ist unerheblich, ob Ihr die Datei-Endung in dem MDEF Befehl mit angebt
oder nicht. Also sind beide der folgenden Möglichkeiten gültig:
USE MDEF Janes WW2 Fighters
USE MDEF Janes WW2 Fighters.tmm
3. Makro-Dateinamen, Joystick-Dateinamen und Makro-Namen unterscheiden
nicht zwischen Groß- und Kleinschreibung:
Mig Alley.tmm
ist die gleiche Makro-Datei wie:
mig alley.tmm
4. Für die originalen TM HOTAS konnte man sogar mehrere MDEF Befehle
gleichzeitig verwenden und dadurch Makro-Definitionen aus verschiedenen
Makro-Dateien benutzen. Dies gilt nicht für den HOTAS Cougar.
HOTAS Cougar Referenz - Buch
104
THRUSTMASTER
5.3
RATE
Abgesehen von den folgenden verbleibenden Konfigurations-Befehlen bezieht
sich die Mehrzahl der Konfigurations-Befehle auf die Programmierung der
Achsen und wird in den entsprechenden Kapiteln dieses Referenz-Buchs
behandelt.
Konfigurations-Befehl
USE RATE (nnnn)
Befehls-Syntax
RATE (nnnn)
wobei nnnn eine Zeitangabe in Millisekunden ist (1000ms = 1s) und die
Geschwindigkeit bestimmt, mit der generierte Tastatur-Tasten wiederholt werden.
Wenn nicht angegeben, verwendet der Kompilierer automatisch USE RATE (0)
und damit die im BIOS festgelegten Werte (typematic rate settings). Je größer
der Wert ist, desto langsamer die (Wiederholungs-)Geschwindigkeit, mit der die
Tasten generiert werden. Für die Rate sind Werte zwischen 0 und 655350 (knapp
über 10 Minuten!) zulässig.
Es ist auch möglich, die RATE in Echtzeit zu ändern, indem man sie auf eine
Joystick-Taste programmiert:
BTN S4 /I RATE (100)
/O RATE (0)
oder auf eine Achse:
ANT 2 5 RATE (0) RATE (30) RATE (60) RATE (90) RATE (120)
(siehe spätere Anmerkungen bzgl. der digitalen Programmierung von Achsen)
FORTGESCHRITTENE ANMERKUNGEN
Der HOTAS Cougar produziert die generierten Tastatur-Tasten in „Frames“
genannten Gruppen. Frames werden ungefähr alle 30ms generiert bei einer
RATE(0) (oder ohne Angabe einer RATE). Innerhalb eines Frames kann der
Cougar 16 Tasten generieren. Werden mehr Tasten produziert und der Frame
beinhaltet bereits sein 16 Tasten Maximum, werden alle weiteren Tasten an den
nächsten Frame weitergegeben. Der Wert der RATE bestimmt dabei den
tatsächlichen zeitlichen Intervall zwischen den einzelnen Frames.
HOTAS Cougar Referenz - Buch
105
THRUSTMASTER
5.4
S3_LOCK und S3_UNLOCK (ver(ver-/entriegeln)
Konfigurations-Befehl
USE S3_LOCK
Befehl
S3_LOCK
S3_UNLOCK
Normalerweise wird BTN S3 auf dem Joystick in der Form gebraucht, dass, wenn
er gedrückt ist, alle /I Funktionen verarbeitet werden, und wenn er losgelassen ist,
alle /O Funktionen.
Ein USE S3_LOCK Befehl bedeutet nun, dass, wenn S3 gedrückt wird, der
Cougar nur die /I Funktionen ausführt. Wird er wieder gedrückt, wird zu den /O
Funktionen umgeschaltet.
Falls Ihr zwischen diesen beiden Modi hin- und herschalten wolltet, dann könntet
Ihr so etwas programmieren:
BTN S2 /T S3_LOCK /T S3_UNLOCK
Ihr braucht keinen USE S3_LOCK Konfigurations-Befehl in einer Datei zu
verwenden, um die direkten S3_LOCK, S3_UNLOCK Funktionen für eine
Joystick-Taste benutzen zu können. Was ist also der Unterschied zwischen USE
S3_LOCK und lediglich S3_LOCK? USE S3_LOCK gilt für die gesamte Datei und
ist nach dem Laden der Datei in den Joystick sofort aktiv. S3_LOCK als Befehl
für eine Joystick-Taste gilt nur, sobald diese Joystick-Taste gedrückt wird.
ANMERKUNGEN
1. Falls Ihr eine andere Joystick-Taste/ Hütchen als S3 verwendet (siehe
nächstes Kapitel), dann gelten diese Funktionen für diese Joystick-Taste, aber
Ihr verwendet den gleichen Ausdruck.
2. Ihr könnt keine /H Halten-Modifizierer für S3_LOCK Funktionen verwenden.
BTN S1 /H S3_LOCK
BTN S4 /H Ein_Makro S3_LOCK
würde beides Kompilier-Fehler verursachen.
HOTAS Cougar Referenz - Buch
106
THRUSTMASTER
5.5
Zuweisung einer anderen
anderen JoystickJoystick-Taste
fuer /I, /O mittels SHIFTBTN
Konfigurations-Befehl
USE Joystick-Taste AS SHIFTBTN
Befehl
SHIFTBTN (Joystick-Taste)
Beispiele:
USE S4 AS SHIFTBTN
BTN T6 SHIFTBTN (T10)
Diese Funktion bestimmt, welche Joystick-Taste anstelle von S3 zur Anwahl von
/I Funktionen verwendet werden soll. Gibt es keine solche abweichende Angabe,
da sie wahrscheinlich eher selten benutzt werden wird, wird automatisch die
Joystick-Taste S3 für /I, /O Funktionen verwendet.
Anmerkung des Übersetzers:
Da diese Funktion eher kurz abgehandelt wurde, hier noch einige weitere
Anmerkungen:
diese Funktion gehört genauso wie Makros hinter den /I Modifizierer:
BTN T6 /I SHIFTBTN (T10) irgendein_Makro
/O nochein_Makro
Außerdem sind tatsächlich nur Joystick-Tasten als SHIFTBTN zulässig, nicht
aber logische Schalter (Flags) " !
HOTAS Cougar Referenz - Buch
107
THRUSTMASTER
5.6
Empfindlichkeit der HuetchenHuetchen-Eckpositionen
Manchmal kann es recht schwierig sein, die Eckpositionen der Hütchen auf
Anhieb richtig zu treffen (z.B. H4UL). Erinnert Euch, dass die Hütchen eigentlich
nur 4-wege Schalter sind. Daher, und da die Controller alles so schnell
verarbeiten, könntet Ihr oft beobachten, dass eines der Makros von einer der
beiden Seiten einer Eckposition generiert wird, gerade bevor diese Eckposition
ganz richtig gedrückt wird. Ihr könnt die Empfindlichkeit der Hütchen herabsetzen,
um dieses Problem zu umgehen:
Konfigurations-Befehl
USE HütchenID_SENSITIVITY (nnnn)
wobei:
HütchenID eines der 4 Hütchen ist: HAT1, HAT2, HAT3, HAT4, und
nnnn ein Wert zwischen 0 (am empfindlichsten) und 1000 (am unempfindlichsten)
ist. Der Wert nnnn ist eigentlich eine Verzögerung in Millisekunden. Ein Beispiel:
USE HAT1_SENSITIVITY (100)
würde bedeuten, dass alle Funktionen auf HÜTCHEN1 erst verarbeitet würden,
wenn die entsprechende Hütchen-Position mindestens 100ms gehalten würde,
wodurch auch mehr Zeit wäre, wirklich beide Kontakte rund um eine Eckposition
zu Schließen.
ANMERKUNGEN
Ihr könnt keine /T Schrägstrich-Modifizierer für die programmierbaren Positionen
eines Hütchens verwenden, wenn Ihr die USE HütchenID_SENSITIVITY (nnnn)
Funktion für dieses Hütchen benutzt.
Also:
USE HAT1_SENSITIVITY (60)
BTN H1U /T a /T b /T c
würde eine Fehler-Meldung verursachen.
HOTAS Cougar Referenz - Buch
108
THRUSTMASTER
5.7
Empfindlichkeit der MicrostickMicrostick-Taste
Solltet Ihr feststellen, dass Ihr andauernd versehentlich die Taste T1 auf dem
Microstick drückt, könnt Ihr auch diese weniger empfindlich machen.
Konfigurations-Befehl
USE T1_SENSITIVITY (nnnn)
wobei:
nnnn ein Wert zwischen 0 (am empfindlichsten) und 1000 (am unempfindlichsten)
ist . Der Wert nnnn ist eigentlich eine Verzögerung in Millisekunden und steht für
die Verzögerung, bevor ein Druck auf T1 bemerkt wird. Diese Funktion ist für die
Leute gedacht, die finden, dass sie zu oft zu einfach versehentlich T1 drücken.
Hier ein Beispiel:
USE T1_SENSITIVITY (1000)
würde bedeuten, dass T1 erst nach einer Verzögerung von 1 Sekunde als
gedrückt angesehen würde.
ANMERKUNGEN
Ihr könnt keine /T Schrägstrich-Modifizierer für BTN T1 verwenden, wenn Ihr die
USE T1_SENSITIVITY (nnnn) Funktion in Eurer Datei benutzt.
HOTAS Cougar Referenz - Buch
109
THRUSTMASTER
5.8
USE FOXY GRAPHIC / README
Konfigurations-Befehl
USE FOXY GRAPHIC Bild-Datei
USE FOXY README Text-Datei
Diese beiden Konfigurations-Befehle werden vom Kompilierer ignoriert und nur
von Foxy für seine Zwecke benutzt. Wenn Foxy Eure Dateien öffnet, durchsucht
es diese, und wenn es eine Anweisung USE FOXY GRAPHIC Bild-Datei findet,
dann lädt es diese Bild-Datei in seinen Bild-Betrachter. Dies ist nützlich, wenn Ihr
Eure Dateien weitergebt, und Ihr ein Bild habt, welches zeigt, welche Makros
welchen Joystick-Tasten und Hütchen zugewiesen sind. Ein Beispiel:
USE FOXY GRAPHIC Total Air War.bmp
Zulässige Bild-Formate sind Bitmaps (.bmp), Jpegs (.jpg) oder Gifs (.gif).
Sinngemäß weist der USE FOXY README Konfigurations-Befehl Foxy an, eine
Text-Datei in seinen Vorlagen-Editor zu laden, was für andere oder als
Gedankenstütze für Euch selbst nützlich sein kann, wenn dort z.B. Angaben zu
eventuell nötigen Einstellungen in der Simulation für diese Datei zu finden sind, oder
Erklärungen zur Programmierung, usw. Ein Beispiel:
USE FOXY README Total Air War.rtf
Zulässige Text-Formate sind entweder einfache Text-Dateien mit der Endung .txt,
oder Rich Text Dateien mit der Erweiterung .rtf. Letztere können formatierten und
farbigen Text in unterschiedlichen Größen und Schriftarten enthalten und daher
besser lesbar sein.
ANMERKUNGEN
Die Bild- und Text-Dateien müssen sich im gleichen Verzeichnis wie Eure
Joystick- und Makro-Dateien befinden. Als Voreinstellung ist das in Foxy's FilesOrdner.
Anmerkung des Übersetzers:
Foxy’s Betrachter für .rtf-Dateien ist allerdings genau das: ein Betrachter –
Tabellen oder mittels Tabulator ausgerichtete Abschnitte können in dieser Ansicht
deutlich von der Darstellung z.B. in WinWord abweichen.
HOTAS Cougar Referenz - Buch
110
THRUSTMASTER
5.9
NULLCHR - Null Zeichen ^
Konfigurations-Befehl
USE NULLCHR Zeichen
Ein Null-Zeichen ist ein Zeichen innerhalb einer Funktion, das nichts produziert.
Das voreingestellte Null-Zeichen ist das ^ (caret). Also, was soll’s? Nun, einige
Funktionen verlangen eine bestimmte Anzahl von Angaben, damit diese Funktion
gültig ist. Die Digitaler Typ Funktionen, zu denen wir in den nächsten Kapiteln
noch kommen werden, sind ein gutes Beispiel dafür. Diese Anweisung z.B.:
RDDR 3 L ^ R
programmiert die Ruderpedale so, dass ein gehaltenes „L” produziert wird, wenn
das linke Pedal getreten wird, und ein gehaltenes „R”, wenn das rechte Pedal
getreten wird. Wenn die Pedale zentriert sind, soll natürlich nichts ausgegeben
werden, also habe ich für die Mittelposition das voreingestellte Null-Zeichen „^"
angegeben. Ich könnte sie nicht einfach offen lassen und einfach nichts angeben:
RDDR 3 L R
denn dieser Befehl benötigt 3 Zeichen/Makros nach „RDDR 3", ansonsten gäbe
es einen Fehler beim Kompilieren. Betrachtet Null-Zeichen also einfach als PlatzHalter für Stellen, an denen Ihr irgendetwas stehen haben müsst, aber nichts
produzieren wollt.
Um auf diesen Konfigurations-Befehl zurück zu kommen, das Null-Zeichen ist als
Voreinstellung ^. Wenn Ihr ein anderes Zeichen/Tastatur-Taste verwenden wollt,
dann könnt Ihr das durch Befehle wie diese:
USE NULLCHR TAB
USE NULLCHR z
Wenn das ^ in einem Spiel gebraucht wird, könnt Ihr es immer noch indirekt für
Eure Makros verwenden, indem Ihr stattdessen SHF 6 schreibt, d.h. BTN S1
SHF 6
HOTAS Cougar Referenz - Buch
111
THRUSTMASTER
ANMERKUNGEN
1. Für die alten originalen TM Controller wart Ihr angewiesen worden, niemals
eine Funktionszeile in Eurer Joystick-Datei leer zu lassen, sondern lieber ein
Null-Zeichen einzufügen, so z.B.:
BTN S2 /U Fire_Missile
/M ^
/D ^
Das ist nicht nötig für den Cougar. Es ist kein Problem, so etwas:
BTN S2 /U Fire_Missile
/M
/D
in Eurer Joystick-Datei stehen zu haben.
2. Das Null-Zeichen produziert eigentlich das USB (00) Kürzel.. Dies generiert gar
nichts, und deshalb ist es auch möglich, ein solches Makro in Eurer MakroDatei zu erstellen, wenn Ihr das bevorzugt:
Mach_Garnix = USB(00)
und dieses dann in Euren Funktionen zu verwenden:
RDDR 3 L Mach_Garnix R
Natürlich ist es viel schneller, einfacher und niedlicher, das ^ zu benutzen, und
das ist auch der Grund, warum es es gibt.
3. Ihr könnt keine Tastenkombinationen mit gehaltener SHF, CTL, ALT Taste
(chorded keys) für die USE NULLCHR Funktion verwenden. Diese Beispiele
führen zu Fehler-Meldungen des Kompilierers:
USE NULLCHR SHF F1
USE NULLCHR ALT p
HOTAS Cougar Referenz - Buch
112
THRUSTMASTER
5.10 TASTATURTASTATUR-Schema (AZERTY, QWERTY)
Konfigurations-Befehl
USE KEYBOARD Tastatur-Typ
Wobei Tastatur-Typ entweder:
AZERTY oder QWERTY ist.
Falls Ihr eine französische AZERTY Tastatur verwendet, und ein Spiel, für das Ihr
Dateien programmiert, verwendet dieses Tastatur-Schema, so dass manche
Funktionen im Spiel nicht korrekt ausgeführt werden, dann wird dies durch USE
KEYBOARD AZERTY behoben. Siehe auch den Abschnitt über Foxy’s Key
Tester für weitere Informationen.
ANMERKUNGEN
Macht Euch nicht die Mühe, USE KEYBOARD QWERTY anzugeben – der
Kompilierer verwendet diese ohnehin standardmäßig. Es ist nicht nötig, diese
Angabe in einer Datei zu machen.
Anmerkung des Übersetzers:
Auf Cougar World wurde bereits diskutiert, ob nicht vielleicht auch ein USE
KEYBOARD QWERTZ für den deutschen Sprachraum – der sicherlich größer
als der französische ist ! – sinnvoll wäre, doch anscheinend ist diese
Angelegenheit wieder in Vergessenheit geraten " ...
HOTAS Cougar Referenz - Buch
113
THRUSTMASTER
5.11 Verwendung von profileN aus dem CCP USE PROFILE
Konfigurations-Befehl
USE PROFILE Profil (Kalibrierungs-Modus)
wobei:
Profil: ein im Cougar Control Panel erstelltes und mit der Endung .tmc in ProfileOrdner gesichertes Profil ist.
Kalibrierungs-Modus: ist entweder AUTO oder CUSTOM. Gibt an, ob ein Profil
die Auto-Kalibrierung oder eine Benutzer-definierte Kalibrierung verwenden soll.
Beispiele:
USE PROFILE Crimson Skies.tmc (AUTO)
USE PROFILE Mechwarrior 4 (CUSTOM)
Wie wir schon bald in der Achsen-Programmierung sehen werden, ist es möglich,
Achsen zu ändern und zu beeinflussen, sie zu vertauschen oder zu deaktivieren,
ihren Verlauf zu ändern usw. Dies kann umständlich werden, sobald eine Vielzahl
von Befehlen benutzt wird. Wenn Ihr das Cougar Control Panel zum Erstellen
und Speichern von Profilen verwendet habt, kann es einfacher sein, einfach diese
Dateien zu benutzen. Die Verwendung von gespeicherten Profilen hat auch den
Vorteil, dass Toleranz-Zonen mit übernommen werden können, was nur durch
Programmierung nicht möglich ist. Die Erfahrung zeigt außerdem, dass der
Download von Profilen schneller geht als der Gebrauch von DISABLE oder USE
AXES_CONFIG Funktionen (siehe spätere Anmerkungen).
5.11.1 Einige Punkte zu Profilen
Ich werde mir ein wenig Zeit nehmen, mich mit .tmc-Dateien, also Profilen, zu
beschäftigen, und erklären, warum sie in der Tat sinnvollerweise von Euren
Joystick-Dateien aus aufgerufen werden sollten. Zunächst einmal werden Profile
mit dem Cougar Control Panel (CCP) erstellt. Sie enthalten alle nötigen Angaben
zu den Achsen, wie ihre Zuweisung, Toleranz-Zonen, Kurven-Verhalten usw.
Wenn Ihr nun eine Datei, die Eure Achsen beeinflusst, ladet, oder eine Datei
verwendet, die Eure Joystick-Kurven während des Flugs ändern kann, dann
bleiben alle diese Angaben auch nach Verlasen des Spiels in den Controllern
gespeichert. Erinnert Euch: dies ist ein treiberloses System, und alle
Informationen bleiben in den Controllern. Wenn Ihr dann hingeht und eine andere
Datei für eine andere Simulation ladet, und diese setzt die Achseinstellungen
nicht zurück, dann übernehmt Ihr die Werte der vorigen Simulation, da sie ja
immer in den Controllern gespeichert bleiben.
HOTAS Cougar Referenz - Buch
114
THRUSTMASTER
Ihr habt zwei Möglichkeiten, dies zu umgehen. Ihr könnt entweder eine USE
PROFILE Anweisung in jeder Eurer Joystick-Dateien angeben, z.B. um das
DEFAULT.tmc Profil aufzurufen (das Profil mit den Grundeinstellungen, welches
vom CCP beim aller ersten Aufruf angelegt wird), oder ein Profil Eurer Wahl für
diese Simulation, oder Ihr könnt in Foxy’s Download-Menü angeben, dass der
Kompilierer beim Laden einer Datei zunächst alle Achsen zurücksetzt, indem er
Euer Profil anwendet. Ich hoffe, das macht Sinn.
Da ein Profil Kalibrierungs-Daten enthält, müsst Ihr dem Kompilierer schließlich
noch mitteilen, ob Ihr für Euer Spiel die Kalibrierungs-Daten aus Eurem Profil
oder die der Auto-Kalibrierung verwenden wollt.
ANMERKUNGEN
1. Foxy und der Kompilierer nehmen zunächst einmal an, dass alle Profile im
Profile-Verzeichnis des Cougar zu finden sind. Dort werden alle mit dem CCP
erzeugten
Profile
gespeichert.
Als
Voreinstellung
ist
das:
C:\Programme\Hotas\Profiles. Wenn eine gerade kompilierte/geladene Datei
eine USE PROFILE Anweisung enthält, dann wird der Kompilierer:
(a) das Profil in dessen Profile-Verzeichnis suchen.
(b) Wenn das Profil existiert, wird er dieses verwenden (und nicht weiter
suchen).
(c) Wenn das Profil nicht existiert, sucht er im gleichen Verzeichnis, wo
auch die Joystick-Datei liegt, d.h. in Foxy's Files-Ordner.
(d) Wenn das Profil immer noch nicht existiert, gibt er eine FehlerMeldung aus.
2. Profile haben die Datei-Erweiterung tmc. Es ist egal, ob Ihr diese Erweiterung
in der USE PROFILE Anweisung mit angebt oder nicht:
USE PROFILE Crimson Skies.tmc
USE PROFILE Crimson Skies
ist das Gleiche wie
3. Wenn Ihr Foxy zum Öffnen eines Archivs von jemand anderem benutzt, und
dieses Archiv enthält ein Profil, dann werden alle Dateien des Archivs in
Foxy's Files-Verzeichnis entpackt. Ihr könnt Euch aussuchen, ob Ihr das Profil
in den Profile-Ordner des Cougar verschieben wollt, doch Foxy wird dies nicht
für Euch tun – Ihr werdet den Explorer bemühen müssen. Ich empfehle, alle
Profile im HOTAS Profiles-Ordner zu speichern (normalerweise
C:\Programme\HOTAS\Profiles).
4. Ein Profil enthält grundsätzlich die folgenden Informationen über die Achsen
des Cougar:
Zuweisungs-Daten, Achsen-Richtungen, Mittelpunkte, Kalibrierungs-Daten,
Toleranz-Zone, Kurven-Daten, Trimmungs-Information, gesperrte Achsen, und
die „Windows-Achsen“ Option.
HOTAS Cougar Referenz - Buch
115
THRUSTMASTER
5.12
sonstige KonfigurationsKonfigurations-Befehle
Einige der Konfigurations-Befehle würden den Rahmen dieses Kapitels
sprengen, da sie in Zusammenhang mit anderen Befehlen erklärt werden
müssen. Die folgenden Konfigurations-Befehle werden an anderer Stelle
behandelt:
Konfigurations-Befehl
USE Taste AS DXn
Beschrieben in
DISABLE AXIS
Kapitel 3.8: Arbeit mit und Einrichtung von
DirectX (Direct Input) –Tasten
Kapitel 3.8.1: Zuweisung aller Joystick-Tasten
als DirectX-Tasten
Kapitel 4.1: Programmierung der Joystick
HÜTCHEN
Kapitel 6.3: Kurven-Verlauf von Achsen
(CURVE)
Kapitel 6.5: Ausschalten von Achsen
USE SWAP
Kapitel 6.6: Achsen-Zuweisung (SWAP)
USE REVERSE
Kapitel 6.7: Umkehr der Richtung einer Achse
USE AXES_CONFIG
Kapitel 6.8: Der USE AXES_CONFIG Befehl
USE MTYPE
Kapitel 7.2: die einfachste Art, die Maus auf
den Microstick zu legen
Kapitel 7.3.1: Verwendung anderer Achsen als
Maus-Achsen
Kapitel 7.5: Störungsvermeidung für veränderte
Maus-Bewegung und /I, /O
Kapitel 7.7: Ausschalten der StandardZuweisung von Maus auf
Microstick
Kapitel 7.8.1: Angabe der BildschirmAuflösung
Kapitel 8.2: Definition von logischen Schaltern
USE ALL_DIRECTX_BUTTONS
USE HAT AS MOUSE, POV,
ARROWKEYS, KEYPAD
USE CURVE
USE Achse AS Maus-Achse
USE ZERO_MOUSE
DISABLE MOUSE
USE SCREEN_RESOLUTION
DEF Xn
HOTAS Cougar Referenz - Buch
116
THRUSTMASTER
6. Achsen-Programmierung
6.1
Grundlagen
6.1.1 Der Unterschied zwischen analog und digital
Wir werden uns nun ansehen, wie Ihr die Achsen des Cougars programmieren
könnt, und zwar sowohl digital als auch bezüglich ihres analogen Verhaltens.
Bevor wir das tun, sollten wir den Unterschied zwischen einer analogen und
einer digitalen Achse erklären, da viele Leute diese Begriffe verwirrend finden.
Die meisten heute erhältlichen Joysticks funktionieren mechanisch auf die gleiche
Weise. Im Inneren enthalten sie zwei Potentiometer (Pots). Wenn Ihr ein Radio mit
einem Knopf zur Lautstärken-Einstellung habt, dann dreht Ihr eigentlich ein
Potentiometer, welches durch diese Drehung seinen elektrischen Widerstand
verändert.
In einem Joystick sind diese Potentiometer so angebracht, dass sie die
Bewegung nach links/rechts, also auf der X-Achse, und nach oben/unten, also
auf der Y-Achse, messen. Die Position des Joysticks und seine Bewegung kann
dabei immer bezüglich dieser beiden Achsen angegeben werden, d.h. wie weit er
sich auf der X-Achse bewegt hat, und wie weit auf der Y-Achse. Die
Potentiometer liefern dabei eine ganze Reihe verschiedener Werte, je nachdem,
wo sich der Joystick gerade befindet, und daher werden sie analoge Geräte
genannt, im Gegensatz zu digitalen Geräten, die entweder an oder aus sind, wie
die Tasten der Tastatur, oder die Joystick-Tasten auf Eurem Cougar.
Also, wenn Ihr mir noch folgen könnt und noch nicht weiter geblättert habt, wollen
wir die Sache noch ein wenig verkomplizieren. In einer perfekten Welt würden
Potentiometer sehr genaue und zuverlässige Werte für jede ihrer Positionen
liefern. Allerdings können sich auch Potentiometer abnutzen oder verstauben.
Der Effekt kann dann sein, dass manchmal leichte Wertverschiebungen bis hin
zu unangenehmen Sprüngen (dem „spiking") auftauchen. Mit dem HOTAS
Cougar werden die Signale von den Potentiometern nicht mehr direkt an die
Flug-Simulation weitergegeben. Ein digitaler Prozessor im Cougar liest die Werte
von einem Potentiometer und filtert fehlerhafte Werte heraus, um genauere und
stabilere Werte zu erhalten. Obwohl also die Potentiometer analog sind, werden
die von ihnen kommenden Signale digital weiter verarbeitet.
Wir werden gleich sehen, was wir mit den Achsen des HOTAS Cougar anstellen
können, und eines dieser Dinge ist, sie digital zu programmieren. Mit dem oben
gesagten im Hinterkopf muss dies genauer erklärt werden, da nicht unbedingt
sofort ersichtlich ist, wie wir eine analoge Achse digital programmieren können.
HOTAS Cougar Referenz - Buch
117
THRUSTMASTER
Lasst uns für einen Erklärungsversuch einfach mal annehmen, dass die
Schubkontrolle analoge Werte zwischen 0 und 100 liefert. Wenn wir diese Achse
nun in sagen wir mal 5 Abschnitte unterteilen, dann entspricht Abschnitt 1 den
Werten von 0 bis 19, Abschnitt 2 entspricht den Werten von 20 bis 39 usw. Und
wir können einen Befehl programmieren, der sagt „Wenn wir uns in Abschnitt 1
befinden, dann produziere ein ‚a’, in Abschnitt 2 ein ‚b’, usw.“ Wir sprechen dann
von der Programmierung einer analogen Achse mittels „Digitaler Typen“, welches
ich in den folgenden Kapiteln erklären werde.
6.1.2 Die Cougar-Achsen
Der HOTAS Cougar (Joystick, Schubkontrolle, Ruderpedale mit Bremsen) hat 10
physikalische analoge Achsen. Diese Achsen können benutzt werden als:
• ausschließlich analoge Geräte, (vorausgesetzt, Euer Spiel und DirectX
unterstützen sie) mit der Möglichkeit, ihnen Funktionen zuzuweisen
• ausschließlich digitale Geräte, so dass sie ausschließlich mit TastaturTasten programmiert werden können
• oder eine Kombination der beiden oben genannten Möglichkeiten.
Außerdem könne wir analoge Achsen beeinflussen, indem wir:
sie komplett entfernen
•
ihre Reaktions-Kurven verändern
•
eine Trimmung anwenden
•
ihre Richtung umkehren
•
sie anderen Achsen zuweisen, entweder grundsätzlich für die gesamte
•
Datei, oder abhängig von der Position des Luftkampf-Schalters und der
Joystick-Taste S3.
Eine der Haupt-Stärken des Cougars ist, wie viel mit diesen Achsen gemacht
werden kann. Allerdings kann das sehr schnell sehr kompliziert werden! Zum
besseren Verständnis dessen, was wir in einer Joystick-Datei so alles erreichen
können in Bezug auf die Handhabung und Programmierung dieser Achsen,
müssen wir zunächst die 6 Digitaler Typ Befehle definieren. Diese werden
benutzt, um die Achsen digital zu programmieren, damit sie Tastatur-Tasten
generieren. Danach haben wir das nötige Wissen, um zu sehen, was wir mit den
analogen Achsen, wie die Simulationen sie sehen, machen können.
HOTAS Cougar Referenz - Buch
118
THRUSTMASTER
Ehe wir weiter machen, lasst uns diese 10 physikalischen Achsen benennen:
TM Syntax
Achse
JOYX
Joystick X
JOYY
Joystick Y
THR
Schubkontrolle (Throttle)
RNG
Reichweiten-Regler (Range)
ANT
Antennen-Regler (Antenna)
*
MIX
Microstick X
MIY
Microstick Y
LBRK
Linke Bremse (Toe Brake)
RBRK
Rechte Bremse (Toe Brake)
RDDR
Ruder
*
Anmerkung: Microstick X, Y sind etwas anderes als Maus X, Y
ANMERKUNGEN
1. Für die original TM HOTAS war eine Achse entweder analog oder digital – d.h.
sie wurde entweder von einem Spiel als analoge Achse erkannt und ihr wurde
die entsprechende Funktion zugewiesen (z.B.. TQS Schubkontrolle =
Schubkontrolle im Spiel) oder digital programmiert, um Tastatur-Tasten zu
generieren. Dies gilt so nicht mehr für den neuen HOTAS Cougar. Als
Voreinstellung werden alle Achsen als analog erkannt, aber wenn Ihr sie digital
programmiert, dann sind sie sowohl analog als auch digital. Wenn eine rein
digitale Achse gewünscht wird, sollte die fragliche Achse ausgeschaltet werden.
2. Ihr braucht überhaupt nichts unter den Spieloptionen von Windows
Systemsteuerung zu ändern, wenn Ihr eine Achse nur digital verwenden wollt.
Dies war für die vorigen TM Controller noch nötig, ist es aber nicht mehr für
den neuen Cougar.
3. Für alle digitalen Achsen-Befehle gilt:
•
•
Ihr könnt /U, /M, /D, /I, /O Modifizierer verwenden
Alle analogen Achsen-Veränderungen (Kurve, Zuweisung, Umkehr,
usw.) haben keine Auswirkungen auf digitale Achsen-Funktionen. Diese
bleiben auf der physikalischen Achse, und zwar linear.
Anmerkung des Übersetzers:
Auf Cougar World wurde bereits berichtet, dass zumindest die Einstellungen der
analogen Toleranz-Zone sich auf digitale Achsen auswirken (Firmware
Versionen 1.00 (CD) und 1.05)!
HOTAS Cougar Referenz - Buch
119
THRUSTMASTER
6.2
Digitale Typen Funktionen
In diesem Abschnitt werden wir uns damit beschäftigen, wie man Achsen digital
programmiert, so dass sie Tastatur-Tasten generieren. Die Programmierung
jeder der Achsen geschieht durch eine von 6 verfügbaren Digitalen Typ
Funktionen. Der einfachste Weg, diese 6 Typen zu verstehen, ist, sich ein
Beispiel für jeden Typ anzuschauen, und zu sehen, welche Tasten produziert
werden.
Anmerkung: Ohne die Angelegenheit weiter komplizieren zu wollen, behaltet im
Hinterkopf, dass es nicht nur Tastatur-Tasten sein müssen, die in
diesen Funktionen verwendet werden können, sondern z.B. auch
logische Schalter, Maus-Befehle oder Achsen-Kurven Befehle.
6.2.1 Typ 1: wiederholende Zeichen, richtungsabhaengig
Ein Typ 1 Befehl hat die folgende Syntax:
Achse
Digitaler
Typ
Anzahl von
Zeichen oder
Makros
(max. 50)
Zeichen
oder
Makro
aufwärts
Zeichen
oder
Makro
abwärts
z.B. ANT
1
10
u
d
Zeichen
oder
Makro
mittig
(optional)
c
FORCE_
MAKROS
(optional)
- FORCE_MAKROS
oder wie es in einer Joystick-Datei erscheinen würde:
ANT 1 10 u d c - FORCE_MAKROS
Ein Drehen des ANTennen Reglers im Uhrzeigersinn und dann gegen den
Uhrzeigersinn würde die folgenden Zeichen ausgeben:
uuuuucuuuuudddddcddddd
Da wir nicht auf den Gebrauch von einzelnen Zeichen in digitalen Befehlen
beschränkt sind, könnten wir auch Makros aus einer Makro-Datei verwenden:
Chaff_Flare = c DLY(30) f
Getting_desperate = RPT(20) (c f)
und diese in einem Typ 1 Befehl für den RNG Regler (RaNGe = Reichweite) in
der Joystick-Datei einsetzen:
RNG 1 5 Chaff_Flare Getting_desperate
HOTAS Cougar Referenz - Buch
120
THRUSTMASTER
Beachtet, dass die Anzahl von Zeichen oder Makros dabei die gesamte Anzahl
von zu generierenden Zeichen (ausschließlich des Zeichens für die Mitte) für die
volle Länge der Achse angibt. Das ist anders als bei den originalen TM Typ 1
Befehlen, wo die Anzahl der Zeichen sich auf den Bereich von einem Ende einer
Achse zur Mitte bezog, und dann von der Mitte zum anderen Ende. Der Grund für
diese Änderung der Syntax ist der, dass nun das Zeichen für die Mitte optional
ist. Ein Beispiel:
RNG 1 6 u d
produziert beim Drehen des RNG Reglers folgende Zeichen:
uuuuuudddddd
Beachtet, dass das Weglassen eines mittleren Zeichens etwas anderes ist, als
ein Null-Zeichen (normalerweise ^) für das mittlere Zeichen zu verwenden. Ein
solcher Befehl:
RNG 1 6 u d ^
produziert:
u u u Toleranz-Zone u u u d d d Toleranz-Zone d d d
Das Null-Zeichen „^" führt dazu, dass gar nichts produziert wird … eine Art von
Toleranz-Zone, wenn man so will. Ehe wir diesen Punkt verlassen:, die Anzahl
von Zeichen muss eine gerade Zahl sein wenn ein mittleres Zeichen
angegeben wird, ansonsten, wenn kein mittleres Zeichen angegeben wird, muss
es das nicht sein. Der Grund dafür sollte, hoffe ich, offensichtlich sein: wenn die
Anzahl der benötigten Zeichen 20 ist und es ein mittleres Zeichen gibt, dann wollt
Ihr sicher 10 Zeichen auf jeder Seite haben.
HOTAS Cougar Referenz - Buch
121
THRUSTMASTER
6.2.1.1 Den - FORCE_MAKROS Modifizierer verstehen
Dieser Modifizierer ist optional und kann nur für Typ 1, 2, 5 und 6 digitale Befehle
benutzt werden. Ich werde seine Bedeutung anhand eines Typ 1 Beispiels
erklären, doch das folgende gilt genauso für die anderen Typen, mit denen er
kombiniert werden kann.
Angenommen, wir hätten folgendes:
RNG 1 50 u d
Eine Drehung des RNG Reglers von einem Anschlag zum anderen wird 50 „u"
Zeichen produzieren, oder 50 „d" Zeichen, abhängig von der Drehrichtung. Wenn
Ihr nun den RNG Regler schnell dreht und das Ergebnis in Notepad oder Foxy's
Key Tester überprüft, dann werdet Ihr keine 50 Zeichen sehen. Ihr werdet
vielleicht 10 bis 20 sehen, aber keine 50. Was ist da los? Ist das ein Fehler – ich
meine, der Cougar soll doch angeblich alles sehr schnell verarbeiten, oder? Ja,
der Cougar kann alles sehr schnell verarbeiten, sogar parallel, und genau das ist
der Grund für diesen Effekt. Was geschieht, wenn Ihr den RNG Regler schnell
dreht, ist nicht etwa, dass einige der Zeichen verloren gingen. Es ist so, dass das
Drücken und Loslassen der Tasten parallel verarbeitet wird, und zwar jeweils bis
zu 16 Zeichen gleichzeitig, und der Computer sieht das dann eben als lediglich
ein Zeichen pro Frame. Wir können dieses Verhalten allerdings ändern und den
Computer „zwingen”, jedes Zeichen wahrzunehmen, und zwar so:
RNG 1 50 (< u >) (< d >)
und das ist im Prinzip genau das, was der - FORCE_MAKROS Modifizierer
macht. Er umgibt jedes Zeichen/Makro eines digitalen Befehls mit ( <
Zeichen/Makro > ). Seid allerdings vorsichtig, wie Ihr diesen Modifizierer einsetzt
– wenn Ihr an irgendeiner Stelle Funktionen erzwingt, dann werden an anderer
Stelle andere Funktionen solange aufgehalten, bis die erzwungenen Funktionen
abgearbeitet sind. Außerdem müsst Ihr sicherstellen, dass alle Makros, die Ihr in
einer digitalen Funktion mit dem - FORCE_MAKROS Modifizierer verwendet,
nicht selbst einen „erzwingenden“ Modifizierer (die Winkel-Klammern < >) in ihrer
Definition haben. Ihr könnt keine „erzwingenden“ Modifizierer verschachteln, und
genau das tätet Ihr, wenn Ihr so etwas hättet:
Makro_1 = < a b c>
Makro_2 = d
RNG 1 50 Makro_1 Makro_2 - FORCE_MAKROS
da der Kompilierer das folgendermaßen umwandeln würde:
RNG 1 50 ( < < a b c> > ) ( < d > )
HOTAS Cougar Referenz - Buch
122
THRUSTMASTER
ANMERKUNGEN
1. So etwas geht nicht:
aber das schon
oder auch
RNG 1 3 a b c d e f
RNG 1 3 (a b c) (d e f)
RNG 1 3 ABC_Makro DEF_Makro
und in der Makro-Datei: ABC_Makro = a b c
DEF_Makro = d e f
2. Man kann /U, /M, /D, /I, /O mit allen digitalen Befehlen benutzen, z.B.:
RNG /U 1 3 F1 F2
/M 1 5 (SHF UARROW) (SHF DARROW)
/D /I 1 6 e t F5
/O 1 4 [ ] KP5
3. Man kann auch /P, /R und /H in Makros oder in Klammern direkt in den
digitalen Typen 1, 2, 5 und 6 verwenden, z.B.:
RNG 1 3 Makro_1 Makro_2
und in Eurer Makro-Datei:
Makro_1 = /P a /R b
Makro_2 = /H d Rem Aber warum Ihr das wolltet wäre mir schleierhaft!
4. Man kann keine /T Modifizierer in Typ 1 (oder jeder digitalen Achsen) verwenden.
5. Ein Typ 6 Befehl ist eine spezielle Form eines Typ 1 Befehls. Die folgenden
Befehle produzieren genau das Gleiche am ANTennen-Regler
(u u c u u d d c d d):
ANT 1 4 u d c
ANT 6 5 (0 20 40 60 80 100) u d c
HOTAS Cougar Referenz - Buch
123
THRUSTMASTER
6.2.1.2
Wichtige Überlegungen zum Gebrauch von FORCE_MAKROS
FORTGESCHRITTENE ANMERKUNGEN
Man könnte es nach den obigen Erklärungen für eine gute Idee halten,
FORCE_MAKROS grundsätzlich und immer zu verwenden, doch das ist in
keinem Fall so. Der erste Punkt, den man im Hinterkopf behalten sollte, sind die
Auswirkungen nicht nur auf das Verhalten der anderen programmierten Hütchen
und Joystick-Tasten Eurer Controller, sondern auch der Achse mit
FORCE_MAKROS selbst. Lasst uns ein Beispiel betrachten, welches mir
außerdem hilft, noch etwas anderes zu erklären.
Schaut Euch diesen Typ 2 Digitale Achse Befehl an (ja, ich weiß, dass ich den
noch nicht behandelt habe – das kommt im nächsten Kapitel, ist aber einfach zu
verstehen):
ANT 2 26 a b c d e f g h i j k l m n o p q r s t u v w x y z
Nun, es braucht kein Genie, um zu erkennen, dass, wenn man die Syntax mal
beiseite lässt, dieser Befehl den ANTennen-Regler so programmiert, dass er das
Alphabet generiert.
(Entschuldigung, falls Euer Alphabet von meinem abweicht! Und an mein
amerikanisches Publikum: wir sprechen ’z' als 'zed' aus auf dieser Seite des
Teichs, nicht 'zee', doch das tut nichts zur Sache. Ich hab’ keine Ahnung, warum
ich dass hier überhaupt erwähne. Ich schweife mal wieder ab.)
Wenn Ihr das also in Eurer Joystick-Datei habt und diese ladet, dann werden,
wenn Ihr den ANTennen-Regler dreht, die Buchstaben des Alphabets produziert,
und Ihr könnt sie in Foxy's Key Tester sehen. Was Ihr dort feststellen werdet, ist,
dass sie in der Tat sehr schnell ausgegeben werden. Wenn Ihr dem Befehl dann
den FORCE_MAKROS Modifizierer anhängt, nämlich so:
ANT 2 26 a b c d e f g h i j k l m n o p q r s t u v w x y z - FORCE_MAKROS
und das gleiche tut, dann werdet Ihr feststellen, dass die Verarbeitung nun
wesentlich langsamer ist – 4 mal langsamer, um genau zu sein. Das ist so, da
der Kompilierer nun jedes Zeichen, sagen wir das „a“, folgendermaßen
umwandelt: < KD(a) KU(a) >. Jeder dieser 4 Teile wandert in seinen eigenen
„Frame”.
Ich sollte besser diese Frames erklären, ehe ich weiter mache. Wenn der Cougar
Zeichen oder programmierte Befehle ausgeben will, sendet er sie alle 30ms. Das ist
sozusagen die Frame-Rate des Cougars. Jeder Frame kann mehrere Zeichen
beinhalten – es ist nicht ein Zeichen pro Frame (denkt dran: der Cougar verarbeitet
alles parallel, und zwar bis zu 32 Makros zur gleichen Zeit). Also, in dem ersten
HOTAS Cougar Referenz - Buch
124
THRUSTMASTER
Beispiel, welches ich für den ANTennen-Regler und das Alphabet angegeben habe,
ist einer der Gründe, warum die Zeichen so erzeugt werden, dass mehrere der
Zeichen in einem Frame gesendet werden, abhängig davon, wie schnell Ihr den
ANTennen-Regler dreht. Dies seht Ihr auch in Foxy's Key Tester. Viele der TastenDruck Ereignisse (Key Down) gehen zusammen raus, gefolgt von ihren TasteLoslassen Ereignissen (Key Up) im nächsten Frame. Ich werde darauf noch zurück
kommen …
Also, um wieder auf den FORCE_MAKROS Modifizierer zurückzukommen, das
„a” wird konvertiert in < KD(a) KU(a) >. Diese 4 Bestandteile der Funktion (<,
KD(a), KU(a) und >) gehen in verschiedene Frames, und daher wird das gesamte
Alphabet viel langsamer generiert.
Während wir uns noch mit diesem ANT Befehl beschäftigen, werde ich das
Thema kurz verlassen und eine andere Funktion des Cougars erklären – die
Fähigkeit, mehrere Zeichen innerhalb des gleichen Frames zu senden, und eine
der Auswirkungen auf die Reihenfolge, in der die Zeichen produziert werden.
Lasst uns den Befehl noch einmal anschauen:
ANT 2 26 a b c d e f g h i j k l m n o p q r s t u v w x y z
Man würde doch annehmen, dass nach diesem Befehl eine Drehung des
ANTennen-Reglers in die eine Richtung die Buchstaben des Alphabets in
alphabetischer Reihenfolge ausgeben müsste, und eine Drehung in die andere
Richtung genau umgekehrt. Nun, versucht’s und seht, was passiert, wenn Ihr den
Regler schnell dreht. In Foxy's Key Tester werdet Ihr feststellen, dass tatsächlich
einige Zeichen aus der Reihe tanzen. Dies ist am auffälligsten bei einer Drehung
gegen den Uhrzeigersinn, und ich selbst erhalte dann:
„x y z u v w p q r s t m n o j k l f g h i a b c d e"
Ihr werdet außerdem feststellen, dass im „Up/Down/Keycode events”-Fenster die
Zeichen als eine Gruppe von „Drücken(Down)”, gefolgt von einer Gruppe von
„Loslassen(Up)”, erscheinen, d.h. Down (z y x) Up (z y x) anstelle von Down (z) Up (z)
Down (y) Up (y) usw. Also, warum sehen wir diese seltsame Reihenfolge, wenn wir
den ANTennen-Regler in diese Richtung drehen? Ist das ein Fehler? Nee, isses nich’.
Es liegt daran, wie USB-Geräte Tastatur-Tasten senden. Mit den älteren TM
Controllern wurden Tastatur-Taasten gemäß PS2-Standards als individuele
„Drücken”- und „Loslassen”-Ereignisse gesendet. Für USB-Geräte funktioniert das
folgendermaßen: Zeichen werden nicht als solche gesendet, sondern das
Betriebssystem durchsucht den Tastatur-Puffer und stellt fest, welche Tasten
gedrückt sind und welche nicht. Wenn nun der Cougar den Tastatur-Puffer verändert,
um anzuzeigen, dass die z, x und y Tasten gedrückt werden, dann bemerkt das
Betriebssystem das während seines Scans und sendet die Zeichen dann in einer
festgelegten Reihenfolge, welche alphabetisch ist. Obwohl Ihr also den ANTennenRegler angewiesen habt, die Buchstaben z, x und y in dieser Reihenfolge zu senden,
HOTAS Cougar Referenz - Buch
125
THRUSTMASTER
sieht der Computer diese drei Tasten, wenn Ihr den ANTennen-Regler schnell genug
dreht, so dass der Cougar sie im gleichen Frame unterbringt, als gleichzeitig gedrückt
an und gibt sie in alphabetischer Reihenfolge aus, d.h. x, y und dann z.
Wenn wir dagegen den FORCE_MAKROS Modifizierer anhängen, dann werden
die Buchstaben natürlich immer in der richtigen Reihenfolge ausgegeben,
unabhängig von der Drehrichtung des ANTennen-Reglers, da dann niemals ein
Zeichen im gleichen Frame wie ein anderes untergebracht werden wird.
Allerdings erzeugen wir sie deshalb eben auch viel langsamer.
Ich hoffe, Ihr versteht das meiste. Also denkt sorgfältig darüber nach, ob Ihr den
FORCE_MAKROS Modifizierer für Eure Simulation benötigt oder nicht. Denkt an die
goldene Regel – es ist egal, wie es sich unter Windows verhält – Ihr müsst schon in die
Simulation gehen und es ausprobieren, und das als Testfeld nehmen.
Eine abschließende Anmerkung: Wenn Ihr diesen Befehl austestet (ohne den
FORCE_MAKROS Modifizierer), dann kann es vorkommen, dass einige Zeichen nicht
generiert werden, wenn der ANTennen-Regler zu schnell gedreht wird – statt dessen
könntet Ihr sogar einige seltsame „Up“-Zeichen erhalten, wie SHF und CTL. Dessen
sind wir uns bewusst, doch es scheint kein Fehler des Cougar zu sein. Wir vermuten,
dass Microsofts Tastatur-Treiber irgendwie überfordert wird bis zu einem Punkt, an dem
er sich neu initialisiert, was sich dann in diesen fehlerhaften „Up“-Ereignissen zeigt. Für
den Cougar selbst ist es unmöglich, diese fehlerhaften Ereignisse durch diesen Befehl
zu erzeugen.
HOTAS Cougar Referenz - Buch
126
THRUSTMASTER
6.2.2 Typ 2: Zeichenfolge, feste Bereiche
Ein Typ 2 Befehl hat die folgende Syntax:
Achse
Digitaler Typ
z.B. ANT
2
Anzahl von
Zeichen
oder Makros
(max. 50)
5
Folge von Zeichen
und/oder Makros
und/oder logischen
Schaltern
abcde
FORCE_
MAKROS
(optional)
- FORCE_MAKROS
oder wie es in einer Joystick-Datei erscheinen würde:
ANT 2 5 a b c d e - FORCE_MAKROS
Ein Drehen des ANTennen-Reglers im Uhrzeigersinn und dann gegen den
Uhrzeigersinn würde die folgenden Zeichen ausgeben:
bcdedcba
Genau wie beim Typ 1 Befehl wird jedes Zeichen nur ein einziges mal produziert (aber
logische Schalter bleiben an – siehe spätere Anmerkungen*).
* Anmerkung des Übersetzers:
Njet! Logische Schalter (flags) unterliegen ebenfalls dem standardmäßigen Verhalten
des Cougar, nur ein einziges mal produziert zu werden – die einzige Ausnahme gilt für
den Typ 3, der sozusagen einen „eingebauten“ /H Modifizierer hat!
Das gilt auch, wenn Makros anstelle von einzelnen Zeichen verwendet werden.
Beachtet außerdem, dass eine Drehung des ANTennen-Reglers im Uhrzeigersinn und
ausgehend vom vollen Anschlag gegen den Uhrzeigersinn als erstes ein „b“ generiert,
kein „a“, wie Ihr vielleicht angenommen habt. Dies ist ein anderes Verhalten als bei
einem Typ 1 Befehl. Es bedeutet, dass wenn Ihr den ANTennen-Regler mehrfach
komplett dreht, Ihr die folgende Zeichenkette erhaltet:
b c d e d c b a b c d e d c b a b etc. etc.
und nicht etwa:
a b c d e e d c b a a b c d e e d c b a etc. etc.
Abweichend von der originalen TM Syntax kann die Anzahl der Zeichen oder Makros
gerade oder ungerade sein. Allerdings werdet Ihr wahrscheinlich bei der Verwendung
eines solchen Befehls für z.B. den ANTennen-Regler eine ungerade Zahl verwenden,
so dass die mittlere Position auf den mittleren Anschlag fällt.
HOTAS Cougar Referenz - Buch
127
THRUSTMASTER
Ihr könnt auch Makros in einem Typ 2 Befehl verwenden:
RNG 2 5 Emcon-1 Emcon-2 Emcon-3 Emcon-4 Emcon-5
und in der Makro-Datei:
Emcon-1 = e DLY(40) 1
Emcon-2 = e DLY(40) 2
Emcon-3 = e DLY(40) 3
Emcon-4 = e DLY(40) 4
Emcon-5 = e DLY(40) 5
Ich weiß, dass wir logische Schalter noch nicht besprochen haben, doch für den
Fall, dass Ihr Euch mit diesem Feld der TM Programmierung beschäftigen wollt,
dann denkt daran, dass es auch möglich ist, logische Schalter direkt in einem Typ
2 Befehl zu verwenden, inklusive ihres Schalter-Status’ (*):
*
*
RNG 2 4 X1 X2 X3 X4
Ich werde das detaillierter in den Kapiteln über logische Programmierung behandeln.
Also, einzelne Zeichen, Makros und logische Schalter können in einem Typ 2 Befehl
gemischt werden:
ANT 2 5 a Emcon-2 c ^ X1
6.2.2.1 Den - FORCE_MAKROS Modifizierer verstehen
Siehe Kapitel 6.2.1.1 (Typ 1 Befehl) für eine Erklärung dieses Modifizierers.
HOTAS Cougar Referenz - Buch
128
THRUSTMASTER
ANMERKUNGEN
1. Ihr könnt in allen digitalen Befehlen /U, /M, /D, /I, /O Modifizierer verwenden. Ihr
solltet allerdings vorsichtig sein, wenn Ihr diese Modifizierer mit anderen aus
logischer Programmierung vermischt (siehe spätere Anmerkungen), da Ihr
dann seltsame Resultate von Euren Controllern bekommen könntet. Ein
Beispiel (und nur für fortgeschrittene Benutzer!):
ANT /U 1 6 a b c
/M 1 6 d e f
/D 2 3 (DLY(5000) X1) X2 X3
BTN X1 /U a
/M b
/D c
Für die /D Position könnte X1 ein „a", „b" oder „c" generieren, abhängig davon,
ob der Luftkampf-Schalter seine Position während der 5-sekündigen
Verzögerung wechselt.
2. Ihr könnt aber keine /U, /M, /D, /I, /O Modifizierer innerhalb des Befehls
verwenden (dies gilt für alle Digitalen Typ Befehle). Daher würde dies einen
Kompilier-Fehler verursachen:
RNG 2 3 a b Makro_1
mit Makro_1 = /I KP1 /O KP2
3. Angenommen, Ihr habt so etwas programmiert:
ANT /I 2 3 SM1 SM2 SM3
/O 2 3 SM4 SM5 SM6
mit:
SM1 = a
SM2 = /H b
SM3 = c
SM4 = d
SM5 = /H e
SM6 = f
Nun lasst uns annehmen, dass Ihr S3 nicht gedrückt habt und sich der ANTennenRegler im mittleren Bereich befindet (wo er ein gehaltenes „e" produziert), und dann
drückt Ihr S3. Das führt dazu, dass das „e" unterbrochen wird, so dass es nicht
länger gehalten wird. Das „b" wird statt dessen automatisch gehalten werden, und
wenn S3 losgelassen wird, wird wieder das gehaltene „e” erzeugt.
4. Ihr könnt /P, /R, /H für Typ 1, 2, 5 und 6 Befehle verwenden.
HOTAS Cougar Referenz - Buch
129
THRUSTMASTER
6.2.3 Typ 3: gehaltene Zeichen
Ein Typ 3 Befehl hat die folgende Syntax:
Achse
Digitaler Typ
z.B. RDDR
3
Zeichen
links
l
Zeichen
Mitte
c
Zeichen
rechts
r
oder wie es in einer Joystick-Datei erscheinen würde:
RDDR 3 l c r
Ein Treten des linken Ruder-Pedals würde ein gehaltenes „l" produzieren, auf
genau die gleiche Weise, wie gehaltene Zeichen durch den /H Modifizierer
erzeugt werden.
ANMERKUNGEN
1. Die Achse wird nicht in 3 gleich große Abschnitte unterteilt, sondern eher so,
wie unten dargestellt, da sonst die Mitte ein zu großes Spiel hätte:
mittlerer
Bereich
c
Linker Bereich
/H l
Rechter Bereich
/H r
2. Ihr könnt logische Schalter in einem Typ 3 Befehl verwenden, wenn Ihr wollt.
3. Wenn Ihr kein Zeichen für die Mitte vergeben wollt, benutzt das Null-Zeichen ^:
RDDR 3 l ^ r
HOTAS Cougar Referenz - Buch
130
THRUSTMASTER
6.2.4 Typ 4: pulsierende Zeichen
Ein Typ 4 Befehl hat die folgende Syntax:
Achse
Digitaler
Typ
z.B. RNG
4
PulsGeschwindigkeit (ms)
1000
Zeichen/
Makro links
Zeichen/
Makro Mitte
Zeichen/
Makro rechts
l
c
r
oder wie es in einer Joystick-Datei erscheinen würde:
RNG 4 1000 l c r
Ein „pulsierendes“ Zeichen ist ein Zeichen, welches ein mal alle x Millisekunden
produziert wird, ein wenig wie das Licht eines Leuchtturms oder Stroboskops.
Typ 4 Befehle sind neu für TM Controller*. Mit dem obigen Befehl wird ein „l“ alle
1000 Millisekunden (d.h. jede volle Sekunde) erzeugt, wenn Ihr den RNG nach
links dreht (oder im Uhrzeigersinn, wenn Ihr auf seine Oberfläche schaut). Eine
Drehung in die entgegen gesetzte Richtung produziert ein „c“ in seiner mittleren
Position, und dann ein „r“ jede Sekunde ein mal.
ANMERKUNGEN
1. Makros und logische Schalter können ebenfalls anstelle einzelner Zeichen
verwendet werden.
2. Wenn Ihr kein Zeichen für die Mitte vergeben wollt, benutzt das Null-Zeichen ^:
RNG 4 60 l ^ r
3. Die Puls-Geschwindigkeit ist ein Wert in Millisekunden zwischen 0 und 82800000 (was
23 Stunden entspricht!)
* Anmerkung des Übersetzers:
Neu in dieser einfach zu verwendenden Art, sicher – aber nicht unbedingt in den
Resultaten:
das gleiche war / ist auch mit den Vorgängern des Cougar möglich, allerdings
(wieder einmal) nur über den Umweg der logischen Programmierung ! , und
zwar über den selben, der auch so etwas wie den /A Modifizierer bewirkt...
HOTAS Cougar Referenz - Buch
131
THRUSTMASTER
6.2.5 Typ 5: Zeichenfolge, variable Bereiche
Ein Typ 5 Befehl hat die folgende Syntax:
Achse
Digitaler Typ
z.B. THR
5
Anzahl
Bereiche
(max. 50)
4
Größe der
Bereiche
(prozentual)
(0 20 45 70 100)
Folge von Zeichen/
Makros/ logischen
Schaltern
abcd
FORCE_
MAKROS
(optional)
- FORCE_MAKROS
oder wie es in einer Joystick-Datei erscheinen würde:
THR 5 4 (0 20 45 70 100) a b c d - FORCE_MAKROS
Typ 5 Befehle sehen zunächst etwas komplexer als die anderen aus, aber eigentlich
sind sie ein Sonderfall des Typ 2 Befehls. Erinnert Euch, dass ein Typ 2 Befehl die
Zeichen gleichmäßig entlang einer Achse verteilt. Ein Typ 5 Befehl unterteilt eine
Achse in Bereiche oder Abschnitte, und weist diesen dann die Zeichen zu.
Im Beispiel oben werden 4 Bereiche geschaffen:
•
•
•
•
0 bis 20% der Achse produzieren ein „a"
21 bis 45%: „b"
46 bis 70%: „c"
71 bis 100%: „d"
In jedem anderen Punkt unterliegt ein Typ 5 Befehl den gleichen Regeln und
Einschränkungen wie ein Typ 2 Befehl. Außerdem kann bei einem digitalen Befehl die
Achse nach wie vor analog genutzt werden. Wir könnten also eine normale analoge
Schubkontrolle haben und mittels eines Typ 5 Befehls zusätzlich an jedem Punkt der
Achse digital Zeichen produzieren. So wäre es also ziemlich einfach, eine
Schubumkehr zu verwirklichen, oder die Radbremsen beim Landen mit minimalem
Schub zu aktivieren, z.B. mit dem Luftkampf-Schalter in /D-Position:
THR /U
/M
/D 5 1 (0 5) Radbremsen
Und in der Makro-Datei hätte ich:
Radbremsen = /P b /R b
Wenn sich also der Luftkampf-Schalter in /D-Position befindet und die Schubkontrolle
auf Minimum steht, aktiviert das Radbremsen-Makro die Radbremsen. Für die
anderen Positionen des Luftkampf-Schalters (/M und /U) habe ich keine digitalen
Befehle angegeben. Auf diese Weise wird das Radbremsen-Makro nur ausgeführt,
wenn der Luftkampf-Schalter sich in der /D-Position befindet.
HOTAS Cougar Referenz - Buch
132
THRUSTMASTER
6.2.5.1 Den - FORCE_MAKROS Modifizierer verstehen
Siehe Kapitel 6.2.1.1 (Typ 1 Befehl) für eine Erklärung dieses Modifizierers.
ANMERKUNGEN
1. Für die originalen TM HOTAS konnte man die Minimum-Stellung der
Schubkontrolle mittels BTN MT programmieren, allerdings nur, wenn die
Schubkontrolle nicht analog verwendet wurde. Der BTN MT Befehl wird nicht
länger unterstützt wegen der verbesserten Fähigkeiten der digitalen Typen und
der Möglichkeit, die Achsen auch analog zu verwenden. Wenn Ihr einen BTN
MT Befehl emulieren wollt, dann verwendet das oben aufgeführte Beispiel,
d.h.: THR 5 1 (0 5) Euer_Makro_hier
2. Wie bei allen digitalen Befehlen beeinflussen etwaige Änderungen des KurvenVerhaltens einer analogen Achse die digitalen Befehle nicht. Diese behalten
immer ihren eigenen linearen „Verlauf”.
3. Ihr könnt /P, /R, /H mit den Typen 1, 2, 5 und 6 verwenden, doch sollten sie
Teil der Makro-Definition sein, oder, wenn Ihr sie direkt im Befehl verwenden
wollt, dann schließt sie in Klammern ein. Also:
THR 5 1 (0 5) Radbremsen
wobei Ihr in Eurer Makro-Datei das Radbremsen-Makro definiert habt als:
Radbremsen = /P b /R b
ist in Ordnung. Ihr könntet auch dies haben:
THR 5 1 (0 5) (/P b /R b)
aber:
THR 5 1 (0 5) /P b /R b
würde eine Fehler-Meldung verursachen.
HOTAS Cougar Referenz - Buch
133
THRUSTMASTER
6.2.6 Typ 6: wiederholende Zeichen, variable Bereiche
Ein Typ 6 Befehl hat die folgende Syntax:
Achse
Digitaler
Typ
Anzahl
Bereiche
(max. 50)
Größe der Bereiche
(prozentual)
Hoch
Runter
Mitte
(optional)
FORCE_
MAKROS
(optional)
z.B.
ANT
6
5
(8 20 40 45 70 80)
u
d
c
- FORCE_MAKROS
oder wie es in einer Joystick-Datei erscheinen würde:
ANT 6 5 (8 20 40 45 70 80) u d c - FORCE_MAKROS
Ein Typ 6 digitaler Befehl ist im Wesentlichen das Gleiche wie ein Typ 1 Befehl,
nur dass die Zeichen nicht auf gleichmäßige Bereiche aufgeteilt sind, wie sie es
in einem Typ 1 Befehl wären. Statt dessen werden sie verteilt auf Bereiche Eurer
Wahl.
Anders als für Typ 1 Befehle gilt allerdings: wenn Ihr ein Zeichen für die Mitte
angebt, dann muss die Anzahl der Bereiche ungerade sein.
Im obigen Beispiel werden 5 Bereiche geschaffen:
•
•
•
•
•
8 bis 20% des Bewegungsspielraums der Achse
21 bis 40%
41 bis 45%
46 bis 70%
71 bis 80%
Genau wie mit einem Typ 1 Befehl produziert eine Drehung des ANTennenReglers:
uucuuddcdd
Wäre der Befehl der folgende:
ANT 6 5 (8 20 40 45 70 80) u d
dann erhieltet Ihr:
uuuuuddddd
6.2.6.1 Den - FORCE_MAKROS Modifizierer verstehen
Siehe Kapitel 6.2.1.1 (Typ 1 Befehl) für eine Erklärung dieses Modifizierers.
HOTAS Cougar Referenz - Buch
134
THRUSTMASTER
6.2.7 Achsen-Richtungen: analoge Werte und digitale Befehle
In diesem Abschnitt werde ich zeigen, welche analogen Werte von Achsen
produziert werden und wann, und Beispiele für jeden Digitalen Typ Befehl geben,
um zu zeigen, in welche Richtung sie funktionieren.
6.2.7.1 Analoge Achsen: Werte
Achsen-Position
JOYX – links
JOYX – rechts
JOYY – zurück
JOYY – vorwärts
THR – zurück
THR – vorwärts
RNG - Gegenuhrzeigersinn
[Anmerkung 1]
RNG – Uhrzeigersinn
ANT - Gegenuhrzeigersinn
[Anmerking 1]
ANT - Uhrzeigersinn
MIX – links
[Anmerkung 2]
MIX – rechts
MIY– runter
MIY – rauf
RDDR – links vorwärts
RDDR – rechts vorwärts
LBRK, RBRK – hoch
LBRK, RBRK – gedrückt
Analoger Wert
0
max
max
0
max
0
max
0
max
0
0
max
max
0
ANMERKUNG
1. Der Reichweiten-Regler (RNG) kann verwirrend sein bezüglich der Richtung der
digitalen Befehle. Für RNG und ANT Regler gilt die Regel: Ihr schaut von vorne auf
den Regler, um die Drehung in Uhrzeigersinn (CW = clockwise) und
Gegenuhrzeigersinn (CCW = counter-clockwise) zu bestimmen..
2. Der Microstick (MIX, MIY) wird von Windows nicht als analoges Gerät
angesehen. Das bedeutet nicht, dass er nicht trotzdem als analoger Controller
benutzt werden könnte, da ihm andere Achsen zugewiesen werden können.
HOTAS Cougar Referenz - Buch
135
THRUSTMASTER
6.2.7.2 Typ 1 Digitale Achsen Befehle
JOYX 1 6 r l
Wird der Joystick auf der X-Achse von links nach rechts bewegt,
erhalten wir „r"s, und von rechts nach links erhalten wir „l"s.
JOYY 1 6 f b
Wird der Joystick auf der Y-Achse von unten nach oben/vorne
bewegt, erhalten wir „f"s, und von vorne/oben nach unten erhalten wir
„b"s.
THR 1 6 f b
Wird die Schubkontrolle von hinten nach vorne bewegt, erhalten wir
„f"s, und von vorne nach hinten erhalten wir „b"s.
RNG 1 6 r l
Wird der RNG vom vollen Gegenuhrzeigersinn (CCW) im
Uhrzeigersinn (CW) bewegt, erhalten wir „r“s, und von CW nach
CCW erhalten wir „l“s.
ANT 1 6 r l
Wird die ANT vom vollen Gegenuhrzeigersinn (CCW) im
Uhrzeigersinn (CW) bewegt, erhalten wir „r“s, und von CW nach
CCW erhalten wir „l“s.
MIX 1 6 r l
Wird der Microstick auf seiner X-Achse von links nach rechts
bewegt, erhalten wir „r“s, und von rechts nach links erhalten wir „l“s.
MIY 1 6 u d
Wird der Microstick auf seiner Y-Achse von unten nach oben
bewegt, erhalten wir „u“s, und von oben nach unten erhalten wir
„d“s.
RDDR 1 6 l r
Linkes Pedal nach vorne ergibt „l“s, linkes Pedal zurück und rechtes
Pedal nach vorne ergibt „r“s.
LBRK 1 6 d u
Linkes Einzelpedal (Toe Brake) nach unten ergibt „d“s, und „u“s
beim wieder hoch kommen lassen (das gleiche gilt für RBRK).
HOTAS Cougar Referenz - Buch
136
THRUSTMASTER
6.2.7.3 Typ 2 Digitaler Achsen Befehl
JOYX 2 5 a b c d e Wird der Joystick auf der X-Achse von links nach rechts bewegt,
erhalten wir „a b c d e", und von rechts nach links erhalten wir „e
d c b a".
JOYY 2 5 a b c d e Wird der Joystick auf der Y-Achse von unten nach oben/vorne
bewegt, erhalten wir „a b c d e", und von vorne/oben nach unten
erhalten wir „e d c b a".
THR 2 5 a b c d e Wird die Schubkontrolle von hinten nach vorne bewegt, erhalten wir
„a b c d e", und von vorne nach hinten erhalten wir „e d c b a".
RNG 2 5 a b c d e Wird der RNG vom vollen Gegenuhrzeigersinn (CCW) im
Uhrzeigersinn (CW) bewegt, erhalten wir „a b c d e“, und von CW
nach CCW erhalten wir „e d c b a“.
ANT 2 5 a b c d e Wird die ANT vom vollen Gegenuhrzeigersinn (CCW) im
Uhrzeigersinn (CW) bewegt, erhalten wir „a b c d e“, und von CW
nach CCW erhalten wir „e d c b a“.
MIX 2 5 a b c d e
Wird der Microstick auf seiner X-Achse von links nach rechts
bewegt, erhalten wir „a b c d e“, und von rechts nach links erhalten
wir „e d c b a“.
MIY 2 5 a b c d e
Wird der Microstick auf seiner Y-Achse von unten nach oben
bewegt, erhalten wir „a b c d e“, und von oben nach unten erhalten
wir „e d c b a“.
RDDR 2 5 a b c d e Linkes Pedal von ganz vorne langsam zurück, während das rechte
Pedal getreten wird, ergibt „a b c d e“. Linkes Pedal vorwärts,
während das rechte nach hinten geht, ergibt „e d c b a".
LBRK 2 5 a b c d e Linkes Einzelpedal (Toe Brake) nach unten ergibt „a b c d e“, und „e
d c b a“ beim wieder hoch kommen lassen (das gleiche gilt für
RBRK).
HOTAS Cougar Referenz - Buch
137
THRUSTMASTER
6.2.7.4 Typ 3 Digitaler Achsen Befehl
JOYX 3 l ^ r
Wenn der Joystick auf der X-Achse nach links bewegt wird, erhalten
wir ein gehaltenes „l", und wenn der Joystick auf der X-Achse nach
rechts bewegt wird, erhalten wir ein gehaltenes „r".
JOYY 3 b ^ f
Wenn der Joystick auf der Y-Achse nach hinten bewegt wird,
erhalten wir ein gehaltenes „b", und wenn der Joystick auf der YAchse nach vorne bewegt wird, erhalten wir ein gehaltenes „f".
THR 3 b ^ f
Wenn die Schubkontrolle hinten ist, erhalten wir ein gehaltenes „b",
and wenn sie vorne ist, erhalten wir ein gehaltenes „f".
RNG 3 l ^ r
Wenn wir den RNG im Uhrzeigersinn bewegen, erhalten wir ein
gehaltenes „r“, und wenn wir den RNG gegen den Uhrzeigersinn
bewegen, erhalten wir ein gehaltenes „l“.
ANT 3 l ^ r
Wenn wir die ANT im Uhrzeigersinn bewegen, erhalten wir ein
gehaltenes „r“, und wenn wir den RNG gegen den Uhrzeigersinn
bewegen, erhalten wir ein gehaltenes „l“.
MIX 3 l ^ r
Wenn der Microstick auf der X-Achse nach links bewegt wird,
erhalten wir ein gehaltenes „l", und wenn der Microstick auf der XAchse nach rechts bewegt wird, erhalten wir ein gehaltenes „r".
MIY 3 d ^ u
Wenn der Microstick auf der Y-Achse nach unten bewegt wird,
erhalten wir ein gehaltenes „d", und wenn der Microstick auf der YAchse nach oben bewegt wird, erhalten wir ein gehaltenes „u".
RDDR 3 l ^ r
Linkes Pedal nach vorne ergibt ein gehaltenes „l“, linkes Pedal
zurück und rechtes Pedal nach vorne ergibt ein gehaltenes „r“.
LBRK 3 u ^ d
Linkes Einzelpedal (Toe Brake) nach unten ergibt ein gehaltenes
„d“, und ein gehaltenes „u“ beim wieder hoch kommen lassen (das
gleiche gilt für RBRK).
HOTAS Cougar Referenz - Buch
138
THRUSTMASTER
6.2.7.5 Typ 4 Digitaler Achsen Befehl
JOYX 4 300 l ^ r
Wenn der Joystick auf der X-Achse nach links bewegt wird, erhalten
wir ein pulsierendes „l", und wenn der Joystick auf der X-Achse
nach rechts bewegt wird, erhalten wir ein pulsierendes „r".
JOYY 4 300 b ^ f
Wenn der Joystick auf der Y-Achse nach hinten bewegt wird,
erhalten wir ein pulsierendes „b", und wenn der Joystick auf der YAchse nach vorne bewegt wird, erhalten wir ein pulsierendes „f".
THR 4 300 b ^ f
Wenn die Schubkontrolle hinten ist, erhalten wir ein pulsierendes
„b", and wenn sie vorne ist, erhalten wir ein pulsierendes „f".
RNG 4 300 l ^ r
Wenn wir den RNG im Uhrzeigersinn bewegen, erhalten wir ein
pulsierendes „r“, und wenn wir den RNG gegen den Uhrzeigersinn
bewegen, erhalten wir ein pulsierendes „l“.
ANT 4 300 l ^ r
Wenn wir die ANT im Uhrzeigersinn bewegen, erhalten wir ein
pulsierendes „r“, und wenn wir den RNG gegen den Uhrzeigersinn
bewegen, erhalten wir ein pulsierendes „l“.
MIX 4 300 l ^ r
Wenn der Microstick auf der X-Achse nach links bewegt wird,
erhalten wir ein pulsierendes „l", und wenn der Microstick auf der XAchse nach rechts bewegt wird, erhalten wir ein pulsierendes „r".
MIY 4 300 d ^ u
Wenn der Microstick auf der Y-Achse nach unten bewegt wird,
erhalten wir ein pulsierendes „d", und wenn der Microstick auf der YAchse nach oben bewegt wird, erhalten wir ein pulsierendes „u".
RDDR 4 300 l ^ r
Linkes Pedal nach vorne ergibt ein pulsierendes „l“, linkes Pedal
zurück und rechtes Pedal nach vorne ergibt ein pulsierendes „r“.
LBRK 4 300 u ^ d Linkes Einzelpedal (Toe Brake) nach unten ergibt ein pulsierendes
„d“, und ein pulsierendes „u“ beim wieder hoch kommen lassen (das
gleiche gilt für RBRK).
HOTAS Cougar Referenz - Buch
139
THRUSTMASTER
6.2.7.6 Typ 5 Digitaler Achsen Befehl
JOYX 5 5 (0 20 40 60 80 100) a b c d e
Wird der Joystick auf der X-Achse von links
nach rechts bewegt, erhalten wir „a b c d e",
und von rechts nach links erhalten wir „e d c b
a".
JOYY 5 5 (0 20 40 60 80 100) a b c d e
Wird der Joystick auf der Y-Achse von unten
nach oben/vorne bewegt, erhalten wir „a b c d
e", und von vorne/oben nach unten erhalten wir
„e d c b a".
THR 5 5 (0 20 40 60 80 100) a b c d e
Wird die Schubkontrolle von hinten nach vorne
bewegt, erhalten wir „a b c d e", und von vorne
nach hinten erhalten wir „e d c b a".
RNG 5 5 (0 20 40 60 80 100) a b c d e
Wird der RNG vom vollen Gegenuhrzeigersinn
(CCW) im Uhrzeigersinn (CW) bewegt, erhalten
wir „a b c d e“, und von CW nach CCW erhalten
wir „e d c b a“.
ANT 5 5 (0 20 40 60 80 100) a b c d e
Wird die ANT vom vollen Gegenuhrzeigersinn
(CCW) im Uhrzeigersinn (CW) bewegt, erhalten
wir „a b c d e“, und von CW nach CCW erhalten
wir „e d c b a“.
MIX 5 5 (0 20 40 60 80 100) a b c d e
Wird der Microstick auf seiner X-Achse von links
nach rechts bewegt, erhalten wir „a b c d e“, und
von rechts nach links erhalten wir „e d c b a“.
MIY 5 5 (0 20 40 60 80 100) a b c d e
Wird der Microstick auf seiner Y-Achse von
unten nach oben bewegt, erhalten wir „a b c d
e“, und von oben nach unten erhalten wir „e d c
b a“.
RDDR 5 5 (0 20 40 60 80 100) a b c d e
Linkes Pedal von ganz vorne langsam zurück,
während das rechte Pedal getreten wird, ergibt
„a b c d e“. Linkes Pedal vorwärts, während das
rechte nach hinten geht, ergibt „e d c b a".
LBRK 5 5 (0 20 40 60 80 100) a b c d e
Linkes Einzel-Pedal nach unten ergibt „a b c d
e", und „e d c b a" beim wieder los lassen.
(gleiches gilt für RBRK).
HOTAS Cougar Referenz - Buch
140
THRUSTMASTER
6.2.7.7 Typ 6 Digitaler Achsen Befehl
JOYX 6 5 (0 20 40 60 80 100) r l
Wird der Joystick auf der X-Achse von links
nach rechts bewegt, erhalten wir „r"s, und
von rechts nach links erhalten wir „l"s.
JOYY 6 5 (0 20 40 60 80 100) f b
Wird der Joystick auf der Y-Achse von unten
nachoben/vorne bewegt, erhalten wir „f"s, und
von vorne/oben nach unten erhalten wir „b"s.
THR 6 5 (0 20 40 60 80 100) f b
Wird die Schubkontrolle von hinten nach vorne
bewegt, erhalten wir „f"s, und von vorne nach
hinten erhalten wir „b"s.
RNG 6 5 (0 20 40 60 80 100) r l
Wird der RNG vom vollen Gegenuhrzeigersinn
(CCW) im Uhrzeigersinn (CW) bewegt, erhalten
wir „r“s, und von CW nach CCW erhalten wir
„l“s.
ANT 6 5 (0 20 40 60 80 100) r l
Wird die ANT vom vollen Gegenuhrzeigersinn
(CCW) im Uhrzeigersinn (CW) bewegt, erhalten
wir „r“s, und von CW nach CCW erhalten wir
„l“s.
MIX 6 5 (0 20 40 60 80 100) r l
Wird der Microstick auf seiner X-Achse von links
nach rechts bewegt, erhalten wir „r“s, und von
rechts nach links erhalten wir „l“s.
.
MIY 6 5 (0 20 40 60 80 100) u d
Wird der Microstick auf seiner Y-Achse von
unten nach oben bewegt, erhalten wir „u“s, und
von oben nach unten erhalten wir „d“s.
RDDR 6 5 (0 20 40 60 80 100) l r
Linkes Pedal nach vorne ergibt „l“s, linkes Pedal
zurück und rechtes Pedal nach vorne ergibt „r“s.
LBRK 6 5 (0 20 40 60 80 100) d u
Linkes Einzel-Pedal nach unten ergibt „d", und
„u" beim wieder los lassen. (gleiches gilt für
RBRK).
Das also zur digitalen Programmierung der verschiedenen Achsen. Wir werden
uns nun mit der analogen Seite der Achsen beschäftigen, und wie wir diese durch
verschiedene Befehle beeinflussen können. Vielleicht eins der ersten Dinge, die
Euch interessieren könnten, ist, wie man das Kurvenverhalten einer Achse
verändert, und zwar durch Programmierung. Wolle mer ma’ seh’n ….
HOTAS Cougar Referenz - Buch
141
THRUSTMASTER
6.3
EmpfindlichkeitsEmpfindlichkeits-Kurve (CURVE)
Alle der maximal 10 Achsen haben einen linearen Verlauf ihrer Empfindlichkeit.
Das bedeutet, dass, wenn Ihr die Schubkontrolle vorwärts bewegt, die Werte, die
an die Simulation gesendet werden, in einem direkten Zusammenhang mit der
Stellung der Schubkontrolle stehen: bewegt Ihr also die Schubkontrolle um
jeweils 10% vorwärts, so erhöhen sich auch die weitergegebenen Werte jeweils
um 10%. Es ist möglich, das Verhalten aller 10 Achsen zu verändern, indem man
die entsprechende Verlaufs-Kurve verändert. Diese Verlaufs-Kurven für jede
Achse werden durch ihre Empfindlichkeit bestimmt.
Es gibt 2 Befehle, die benutzt werden können, um die Achsen-Verlaufs-Kurven zu
bestimmen und zu verändern. Ich werde zuerst diese und ihre Begriffe erläutern,
bevor ich dann erkläre, wie sie verwendet werden:
Konfigurations-Befehl
USE CURVE (Achse(n), Empfindlichkeit)
Befehl
CURVE [Schrägstrich-Modifizierer] (Achse(n), Empfindlichkeit)
wobei gilt:
Achse(n) ist eine der folgenden Bezeichnungen:
JOYX, JOYY
THR
RNG, ANT
MIX, MIY
LBRK, RBRK
RDDR
(zusammen als JOYSTICK bezeichnet)
(zusammen als ROTARIES bezeichnet)
(zusammen als MICROSTICK bezeichnet)
(zusammen als TOEBRAKES bezeichnet)
Empfindlichkeit
ist ein Wert zwischen –32 und 32 (obwohl Werte jenseits 20 zu
Empfindlichkeits-Kurven führen, die Ihr niemals würdet verwenden
wollen!)
Negative Werte (wie z.B. -10) bedeuten eine verringerte Empfindlichkeit
– großartig zum Landen, Betanken, oder den Formationsflug. Null (0nichts!) setzt die Empfindlichkeits-Kurve auf ihren ursprünglichen
linearen (gleichmäßigen) Verlauf zurück (und überschreibt jeden
eventuell vorhandenen USE CURVE Befehl), und positive Werte (z.B.
10) erhöhen die Empfindlichkeit, großartig für Luftkämpfe mit
Flugzeugen aus dem 2.Weltkrieg, um nur ein Beispiel zu nennen.
HOTAS Cougar Referenz - Buch
142
THRUSTMASTER
Schrägstrich-Modifizierer (optional)
/U, /M, /D (Luftkampf-Schalter) und /I, /O (Taste S3) sind erlaubt.
Anmerkung des Übersetzers:
Das ist Gott sei Dank nicht ganz korrekt, und zwar im Sinne von „nicht ganz
vollständig“, weshalb es zu Fehlinterpretationen geradezu einlädt – als altes
Spielkind wollte ich mich jedenfalls nicht mit dieser eher dürftigen Aussage
zufrieden geben ! :
/P, /P und /T sind ebenfalls erlaubt!
Gleiches gilt auch für alle anderen, auch wenn ein /A oder /H sicherlich keinen
Sinn machen würde. Außerdem kann man natürlich auch DLY(ms) verwenden,
auch wenn das kein Schrägstrich-Modifizierer ist.
Durcheinander? Mir geht’s nicht anders! Also, lasst uns einige Beispiele
anschauen, und festhalten, was die Unterschiede zwischen dem USE CURVE
und dem CURVE Befehl sind.
USE CURVE ist ein Konfigurations-Befehl – (das gilt für alle USE Befehle).
Das bedeutet, dass er in einer eigenen Zeile irgendwo am Anfang einer JoystickDatei steht und nicht einer programmierbaren Position zugeordnet werden kann.
Er wird verwendet, um die Grundeinstellung der Verlaufs-Kurven von Achsen
festzulegen. Normalerweise verläuft jede Achse linear, also gleichmäßig, weshalb
eine Einstellung der Verlaufs-Kurve z.B. der X-Achse des Joysticks wie unten:
USE CURVE (JOYX, 0)
ziemlich zweckfrei wäre, da der Kompilierer das ohnehin genau so macht, davon
ausgehend, dass Ihr eine gleichmäßige Verlaufs-Kurve für den Joystick wollt.
Hätten wir allerdings folgenden Befehl in unserer Joystick-Datei:
USE CURVE (JOYSTICK, 2)
dann würde dies dazu führen, dass beide Achsen des Joysticks, also die X- und die
Y-Achse, so verändert werden würden, dass sie empfindlicher reagieren. Beachtet,
dass ich die Bezeichnung „JOYSTICK" verwendet habe, um beide Achsen, nämlich
JOYY und JOYX, auf einmal anzusprechen, so dass der Kompilierer tatsächlich
folgendes an den Controller sendet:
USE CURVE (JOYX, 2)
USE CURVE (JOYY, 2)
Also, der USE CURVE Befehl dient der Veränderung der Standard-Verlaufskurven
von Achsen.
HOTAS Cougar Referenz - Buch
143
THRUSTMASTER
Der CURVE Befehl unterliegt der gleichen Syntax, doch da er kein
Konfigurations-Befehl ist, kann er innerhalb von Befehlen der Joystick-Tasten
oder in Digitalen Achsen Befehlen verwendet werden, oder auch „einfach so“ als
eigenständiger Befehl, wie in den Beispielen weiter unten. Angenommen, wir
wollten die Empfindlichkeit der Y-Achse des Joysticks in Abhängigkeit von der
Stellung des Luftkampf-Schalters verändern – dies könnten wir mit dem CURVE
Befehl erreichen:
CURVE /U (JOYY, 2) Rem empfindlicher für Luftkämpfe
/M (JOYY, 0) Rem normal
/D (JOYY, -2) Rem weniger empfindlich für Landungen
Das gleiche für den Microstick:
CURVE /I (MICROSTICK, 2) Rem empfindlicher
/O (MICROSTICK, 0) Rem normal
Und Ihr könnt sie mixen:
CURVE /U /I (MICROSTICK, 2) (THR, 2)
/O (MICROSTICK, 0)
/M /I (RDDR, -2)
/O (RDDR, 0) (TOEBRAKES, 2)
/D (JOYY, -2)
Der CURVE Befehl kann auch direkt auf einer programmierbaren Position
verwendet werden:
BTN T7 /P CURVE(JOYX, 3) Rem empfindlicher
/R CURVE(JOYX, 0) Rem normal
Der CURVE Befehl kann auch in Digitale Achse Befehlen verwendet werden, um
z.B. die Empfindlichkeit des Joysticks in Abhängigkeit von der Stellung der
Schubkontrolle zu ändern:
THR 2 5 CURVE(JOYX, -3) CURVE (JOYX, -1) CURVE (JOYX, 0)
CURVE (JOYX, 2) CURVE (JOYX, 5)
Bei wenig Schub ist die X-Achse des Joysticks nun weniger empfindlich als normal,
und sie wird zunehmend empfindlicher, je mehr Schub ich gebe. Nur am Rande ist
dies ein wunderbares Beispiel dafür, wie die Schubkontrolle gleichzeitig immer
noch analog funktionieren kann, während sie auch digital programmiert worden ist.
Na ja, ich find’s zumindest wunderbar.
HOTAS Cougar Referenz - Buch
144
THRUSTMASTER
Anmerkung des Übersetzers:
Probiert’s mal aus und testet es dann in Foxy’s „Joystick Analyser“: wenn Ihr den Joystick in
einer beliebigen Position haltet, werdet Ihr feststellen, dass sein Ausschlag sich verändert,
wenn Ihr die Stellung der Schubkontrolle verändert – ohne dass Ihr die Stellung des Joysticks
verändern würdet, nur aufgrund der Änderung der Achsenverlaufs-Kurve; das nur am Rande,
da es sonst vielleicht mitten im Gefecht irritieren könnte, wenn man sich über die
Auswirkungen nicht klar ist...
ANMERKUNGEN
1. Wenn die Kontrolle einer Achse einer anderen Achse zugewiesen wurde (siehe
spätere Anmerkungen), dann nimmt sie ihre Verlaufs-Kurve mit.
2. Man kann keine Toleranz-Zonen mit dem CURVE Befehl verändern – dafür ist das
Cougar Control Panel zuständig. Falls Ihr für ein bestimmtes Spiel eine bestimmte
Toleranz-Zone benötigt, dann benutzt das CCP zum Speichern dieser ToleranzZone(n) in eine Profil-Datei, und ruft diese dann mit dem USE PROFILE Befehl aus
Eurer Joystick-Datei heraus auf. Siehe Punkt 5.
3. Man kann nicht mehr als einen CURVE Befehl in einer Joystick-Datei verwenden.
Der zweite CURVE Befehl im folgenden Beispiel würde also einen Kompilier-Fehler
verursachen.
CURVE /I (MICROSTICK, 2) Rem empfindlicher
/O (MICROSTICK, 0) Rem normal
CURVE /I (ROTARIES, 2) Rem empfindlicher
/O (ROTARIES, 0) Rem normal
Dies ist nicht zu verwechseln mit der Verwendung von CURVE Befehlen in Achsenoder Tasten-Funktionen, wo sie mehrfach benutzt werden dürfen.
4. Wenn Ihr den CURVE Befehl nicht auf eine Achse oder Joystick-Taste
programmiert, dann könnt Ihr CURVE allein ohne Schrägstrich-Modifizierer nicht
verwenden. Statt dessen müsst Ihr dann den Konfigurations-Befehl benutzen. Also:
CURVE (JOYSTICK, 10)
verursacht eine Fehler-Meldung,
USE CURVE (JOYSTICK, 10)
ist in Ordnung.
5. Ihr könnt auch eine gespeicherte Profil-Datei laden - siehe den USE PROFILE
Befehl, der schon behandelt wurde, wenn Ihr mehrere Verlaufs-Kurven mehrerer
Achsen für eine bestimmte Joystick-Datei verändern wollt. Diese Vorgehensweise
hat auch den Vorteil, dass Ihr so auch die Toleranz-Zonen verändern könnt.
HOTAS Cougar Referenz - Buch
145
THRUSTMASTER
6.4
AchsenAchsen-Trimmung (TRIM)
Die Trimmung einer Achse ist ein Mittel, welches es Euch ermöglicht, Eure
Hände von den Controllern zu nehmen, und die Simulation trotzdem annimmt, Ihr
würdet sie in einer bestimmten Position halten. Lasst mich das etwas genauer
erklären. Angenommen, Ihr fliegt auf 15,000 Fuß, und aus irgendeinem Grunde
fängt Euer Flugzeug an zu steigen, wenn der Joystick zentriert ist, so dass Ihr
dies ausgleichen müsst, indem Ihr dauernd gegensteuert und den Joystick nach
vorne drückt. In einem solchen Fall kann die TRIM Funktion verwendet werden,
um bei zentriertem Joystick der Simulation zu melden, Ihr würdet ihn nach vorne
drücken. Dies beschränkt sich nicht auf den Joystick – es ist für alle 10 analogen
Achsen möglich.
Befehl
TRIM (Achse(n), Trim-Wert)
and:
HOLDTRIM (Achse(n))
wobei:
Achse(n) eine der folgenden Bezeichnungen ist:
JOYX, JOYY
THR
RNG, ANT
MIX, MIY
LBRK, RBRK
RDDR
(zusammen als JOYSTICK bezeichnet)
(zusammen als ROTARIES bezeichnet)
(zusammen als MICROSTICK bezeichnet)
(zusammen als TOEBRAKES bezeichnet)
Trim-Wert
ist ein Wert zwischen -128 und 127 oder TO_CURRENT für den
aktuellen Wert.
Ein Wert von Null setzt die Achse auf ihre ursprüngliche Verlaufskurve
zurück, so dass keine Trimmung mehr erfolg.
Ein positiver Wert erhöht die Trimmung, und ein negativer Wert
verringert sie entsprechend.
Die Angabe TO_CURRENT liest die aktuellen Werte der Achse und
setzt die Trimmung auf diese Werte wenn die Achse zentriert ist.
In Ordnung, lasst uns ein Beispiel nehmen, wie man die beiden Drehregler der
Schubkontrolle zur Trimmung der beiden Achsen des Joysticks verwenden kann,
und zwar mittels Typ 1 Befehlen.
RNG 1 12 TRIM (JOYX, 20+) TRIM (JOYX, 20-)
HOTAS Cougar Referenz - Buch
146
THRUSTMASTER
ANT 1 12 TRIM (JOYY, 20-) TRIM (JOYY, 20+)
Eine Drehung des ANTennen-Reglers im Uhrzeigersinn z.B. zieht jeweils 20 von
den Werten der Y-Achse ab, was einem Vorwärtsdrücken des Joysticks
entspricht. Und genau das wäre sinnvoll für ein Flugzeug, welches bei
zentriertem Joystick steigen würde.
Ich könnte die Joystick-Taste S2 folgendermaßen programmieren, diesen
Trimmungs-Effekt auszuschalten:
BTN S2 TRIM (JOYX, 0) TRIM (JOYY, 0) Rem Trimmung beider Achsen aus
oder mit der folgenden Zeile, die das gleiche bewirkt:
BTN S2 TRIM (JOYSTICK, 0)
Ich könnte auch einen bestimmten Trimm-Wert zu Achsen hinzufügen:
BTN S4 TRIM (JOYX, 5) TRIM (JOYY, -10)
Schließlich könnte ich den Joystick in einer Position halten und die Trimmung so
einstellen, dass dieser Wert beibehalten wird, wenn der Joystick wieder zentriert
ist:
BTN S2 /I TRIM (JOYSTICK, TO_CURRENT)
Rem Trimmung auf
aktuelle Werte
/O TRIM (JOYSTICK, 0) Rem Trimmung aufheben
Die Sache hat da allerdings einen Haken. Ich sagte „wenn der Joystick wieder
zentriert ist”. Lasst mich das erklären. Wenn Ihr also irgendwo lang fliegt und den
Joystick nach vorne drücken müsst, um Euer Flugzeug auf Höhe zu halten, da es
andernfalls dauernd versuchen würde zu steigen, und dann den Joystick auf die
aktuellen Werte trimmt, dann würdet Ihr vielleicht erwarten, dass Ihr den Joystick
nun zentrieren könntet, und Euer Flugzeug nun die Höhe hält. Doch das
geschieht nicht, trotz des oben angeführten Befehls, es sei denn, Ihr würdet den
Joystick direkt nach Anwendung der Trimmung loslassen. Warum?
Weil der Wert, auf den Ihr trimmen wollt, ermittelt wird ausgehend von der
Annahme, dass der Joystick sich bereits in zentrierter Stellung befinden würde.
Dort ist er natürlich (noch) nicht: in dem Moment, in dem Ihr die Trimmung
vornehmt, Ihr drückt ihn ja vorwärts.
Und daher sieht es in dem Augenblick, in dem Ihr trimmt, so aus, als würdet Ihr
den Joystick plötzlich ein ganzes Stück weiter weg drücken, so dass es für die
Simulation dann, wenn Ihr den Joystick wieder zentriert habt, so aussieht, als
hieltet Ihr ihn in der Position, wo Ihr die Höhe haltet. Wahrscheinlich solltet Ihr den
letzten Anschnitt noch einmal lesen, um zu verstehen, worauf ich hinaus will.
Ich musste es!
Also, wie können wir das umgehen?
HOTAS Cougar Referenz - Buch
147
THRUSTMASTER
Nun, es gibt einen einfachen und einen komplizierten Weg. Hier ist also der
einfache Weg:
BTN S2 HOLDTRIM (JOYSTICK)
Der Grund, warum ich Euch gleich den „harten” Weg zeigen werde, ist, dass es
dann einfacher ist, diesen Befehl und was genau er bewirkt zu verstehen. Also,
so benutzt Ihr diesen Befehl: haltet Euren Joystick in einer Position, wo Euer
Flugzeug die Höhe hält. Nun drückt die Joystick-Taste S2. Zentriert dann Euren
Joystick, und erst danach lasst Ihr die Joystick-Taste S2 wieder los. Solange Ihr
S2 gedrückt haltet während Ihr den Joystick bewegt, wird Euer Flugzeug
weiterhin seine Höhe halten, und wenn der Joystick dann wieder zentriert ist,
dann könnt Ihr S2 loslassen und die Füße hochlegen.
Jetzt also der „harte” Weg, dies umzusetzen. Tatsächlich ist es gar nicht allzu
schwierig, und es hilft zu erklären, wie genau der oben genannte Befehl
funktioniert. Dazu müssen wir den TRIM TO_CURRENT Befehl in Kombination
mit den LOCK und UNLOCK Befehlen (siehe spätere Anmerkungen) einsetzen,
und zwar folgendermaßen:
BTN S2 /P LOCK (JOYSTICK, LASTVALUE) TRIM(JOYSTICK, TO_CURRENT)
/R UNLOCK (JOYSTICK)
Wenn ich also nun, während ich meinen Joystick nach vorne drücke, um meine
Höhe zu halten, die Joystick-Taste S2 drücke und halte, dann wird mein
Flugzeug seine Höhe halten, während ich den Joystick dann wieder zentriere,
und erst dann lasse ich die Joystick-Taste S2 wieder los. Also, wie funktioniert
das? Nun, das erste, was passiert, wenn ich S2 drücke, ist, dass der Joystick mit
seinen derzeitigen Werten „eingefroren” order „gesperrt” (engl. „locked") wird.
Gleichzeitig wird die Trimmung bezogen auf diese gesperrten Werte berechnet.
Wenn der Joystick dann wieder zentriert ist, „entsperren” (engl. „unlock”) wir den
Joystick wieder, indem wir S2 loslassen, und schon hält das Flugzeug seine
Höhe, da wir die Achsen ja bereits getrimmt haben. Und genau das ist es, wie der
Kompilierer den Befehl BTN S2 HOLDTRIM (JOYSTICK) übersetzt und
verarbeitet.
ANMERKUNGEN
1. Eine Änderung des TRIM Wertes führt zu einer Addition oder Subtraktion zur
Verlaufs-Kurve einer Achse, d.h. die gesamte Verlaufs-Kurve wird einfach in
die eine oder die andere Richtung verschoben, gleichgültig, ob Ihr eine lineare
(gleichmäßige) oder angepasste Verlaufs-Kurve verwendet.
2. Eine getrimmte lineare Verlaufs-Kurve erlaubt nicht mehr die ganze Nutzung
des gesamten Achsen-Verlaufs.
HOTAS Cougar Referenz - Buch
148
THRUSTMASTER
3. Eine Umkehr der Richtung einer Achse hat keine Auswirkung auf die Richtung
der TRIM Funktion – sie bleibt unverändert. Digitale Befehle kehren sich
ebenfalls nicht entsprechend der analogen Richtung um.
4. Beachtet, wo Ihr + und – Zeichen in Trimmungs-Befehlen verwendet, wie auch
bei anderen Achsen-Befehlen. Auf der linken Seite bestimmen sie den
Trimmungs-Wert, auf der rechten den Wert, der zum derzeitigen zu
addieren/abzuziehen ist. Siehe auch das Kapitel „Die Maus und den Microstick
verstehen", um diesen Unterschied im Gebrauch der „+ -" Zeichen und ihre
Auswirkungen, wenn sie links oder rechts eines Wertes stehen, besser zu
verstehen. Der Composer wird Euch durch diese Thematik leiten.
5. Diese HOLDTRIM Befehle sind alle vollkommen zulässig:
BTN T6 a b HOLDTRIM (RNG) c d
BTN S4 /P a HOLDTRIM (RNG)
/R b
BTN S1 a { HOLDTRIM (JOYY) b HOLDTRIM (ANT) }
Beachtet auch, dass mehrere HOLDTRIM Anweisungen wie im letzten Fall von
geschwungenen Klammern umgeben sein müssen.
6. Ihr dürft kein Makro namens TRIM verwenden, allerdings durchaus z.B. Trim
und Trim_halten.
7. Ihr könnt den AutoRepeat (/A) Schrägstrich-Modifizierer in Verbindung mit dem
TRIM Befehl verwenden, um eine Achse mittels einer Joystick-Taste oder
eines Hütchens zu steuern. Die folgenden Befehle z.B. trimmen die JoystickAchsen.
BTN H1U /A TRIM (JOYY, 5-) DLY(120)
BTN H1D /A TRIM (JOYY, 5+) DLY(120)
BTN H1L /A TRIM (JOYX, 5-) DLY(120)
BTN H1R /A TRIM (JOYX, 5+) DLY(120)
8. Zusätzlich ist es auch möglich, selbst solche Achsen, die physikalisch
eigentlich gar nicht angeschlossen sind (z.B. Ruder oder „Toe brakes”), mittels
solcher Befehle für ihre entsprechenden Achsen zu steuern. (Siehe auch das
Kapitel über das Ermögliche Windows Achsen-Status Kontrollkästchen im
Cougar Control Panel für weitere Informationen darüber, wie man auch
eigentlich nicht vorhandene Achsen von Windows „erkennen” lässt.) Zum
Beispiel:
BTN H4L /A TRIM (RDDR, 5-)
BTN H4R /A TRIM (RDDR, 5+)
HOTAS Cougar Referenz - Buch
149
THRUSTMASTER
Anmerkung des Übersetzers:
Eine etwas „intelligentere“ Trimm-Funktion habe ich bereits auf Cougar World vorgestellt:
die folgende Trimm-Funktion verwendet lediglich eine einzige Joystick-Taste, um entweder
eine Trimmung des JOYSTICKs vorzunehmen, oder sie zurückzusetzen, wobei der
Kompilierer die jeweils „sinnvolle“ Aktion automatisch entscheidet und ausführt:
wenn der JOYSTICK nicht zentriert ist, dann wird bei Druck auf S2 eine TRIMmung auf die
aktuellen Werte vorgenommen, wenn er aber zentriert ist, dann bewirkt ein Druck auf S2 eine
Aufhebung der Trimmung ! :
JOYY
JOYX
5 3
5 3
DEF X3
DEF X4
BTN X3
BTN X4
(0 49 51 100)
(0 49 51 100)
KD(X1) KU(X1) KD(X1)
KD(X2) KU(X2) KD(X2)
S2 AND
(X1 OR X2)
S2 AND (NOT (X1 OR X2))
{HOLDTRIM (JOYSTICK) HOLDTRIM (RDDR)}
TRIM (JOYSTICK, 0) TRIM (RDDR, 0)
Diese TRIMmungs-Funktion hat den Vorteil, dass sie praktisch „kindersicher“ ist und auch für
Spiele verwendet werden kann, die keine eigenen Trimmungs-Funktionen bieten – wenn eine
Simulation allerdings eigene Trimmungs-Funktionen bietet, dann sollten diese auch
verwendet werden, da diese anders funktionieren als diese Funktion des Cougars:
während der TRIM-Befehl ja lediglich die gesamte Verlaufs-Kurve verschiebt, so dass die
Extrem-Werte dann nicht mehr zu erreichen sind, „verbiegen“ die Trimmungs-Funktionen
neuerer Simulationen den gesamten Achsen-Verlauf so, dass alle ihre Werte trotzdem noch
zur Verfügung stehen!
HOTAS Cougar Referenz - Buch
150
THRUSTMASTER
6.5
Deaktivierung von analogen Achsen
Alle der analogen Achsen werden standardmäßig als vorhanden an eine
Simulation gemeldet, außer den Microstick-Achsen. Es gibt einige Umstände,
unter denen es erwünscht sein könnte, dass sie deaktiviert sein sollten, bevor die
Simulation startet, wenn Ihr z.B. nur Tastatur-Kommandos mittels Digitaler Typ
Befehlen produzieren möchtet. Achsen können durch Konfigurations-Befehle in
der Joystick-Datei folgendermaßen deaktiviert werden::
Konfigurations-Befehl
DISABLE Achse(n)
wobei Achse(n) eine der folgenden Bezeichnungen ist:
THR
RNG, ANT
LBRK, RBRK
RDDR
(zusammen ROTARIES – siehe unten)
(zusammen TOEBRAKES – siehe unten)
Außerdem macht es Sinn, eine Gruppe von Achsen gemeinsam ansprechen zu
können, so dass diese mit einem einzigen Befehl deaktiviert werden können, wie z.B.:
DISABLE ROTARIES
DISABLE
TOEBRAKES
wird vom Kompilierer
konvertiert zu
DISABLE RNG
DISABLE ANT
DISABLE LBRK
DISABLE RBRK
Wie alle anderen Konfigurations-Befehle auch müssen diese in einer eigenen
Zeile in der Joystick-Datei stehen, wobei nur eine zusätzliche Anmerkung nach
einem REM noch zulässig ist.
Also, diese Befehle:
DISABLE THR Rem deaktiviere Schubkontrolle
DISABLE ANT Rem deaktiviere Antennen-Regler sind in Ordnung, aber
DISABLE (THR, ANT, RNG) nicht.
Es mag vielleicht praktischer aussehen, doch es gibt Gründe bezüglich der
Programmierung und der Handhabung, die dafür sprechen, alles in getrennten
Zeilen zu regeln (es ist z.B. einfacher, eine einzelne Zeile auszuREMen).
Dieser neue DISABLE Befehl ersetzt den alten USE NO Befehl der originalen
TM-Syntax (USE NOMOUSE, USE NOTHR, usw.). Und da alle Achsen
standardmäßig erkannt werden, braucht Ihr nun auch keine Befehle mehr wie
z.B. USE RCS, USE TQS usw., wie mit den vorigen TM HOTAS.
HOTAS Cougar Referenz - Buch
151
THRUSTMASTER
6.5.1 Ver-/Entriegelung von Achsen im Spiel mittels LOCK, UNLOCK
Jetzt wissen wir also, wie man eine Achse durch einen Konfigurations-Befehl
deaktivieren kann. Sobald sie deaktiviert ist, kann sie von einem Spiel nicht mehr
als analoge Achse wahrgenommen werden. Sie macht also entweder gar nichts
mehr, oder sie kann digital programmiert werden.
Es könnte z.B. sein, dass Ihr eine analoge Achse bewegen wollt, um die auf sie
programmierten digitalen Funktionen nutzen zu können, ohne dass sich ihre
analogen Werte dadurch ändern. Unglücklicherweise kann man keine Achsen bei
laufendem Spiel entfernen – das würde dazu führen, dass Euer System hängt, das
Spiel abstürzt, oder generell etwas ähnlich Unerwünschtes geschieht..
Wenn wir also eine Achse nicht einfach im Flug entfernen und später wieder
hinzufügen dürfen, dann ist die einzige Möglichkeit, dies zu umgehen, die Achse
bei einem bestimmten analogen Wert zu „verriegeln“, so dass wir sie dann
trotzdem bewegen können, wobei dann nur noch ihre digitalen Funktionen sich
ändern können. Dies können wir mit dem LOCK Befehl erreichen, und die Achse
dann wieder mit dem UNLOCK Befehl „entriegeln“. So werden sie verwendet:
Befehl
LOCK (Achse(n), Verriegelungs-Wert%)
UNLOCK (Achse(n))
wobei gilt:
Achse(n) ist:
JOYX, JOYY
THR
RNG, ANT
MIX, MIY
LBRK, RBRK
RDDR
(zusammen als JOYSTICK bezeichnet)
(zusammen als ROTARIES bezeichnet)
(zusammen als MICROSTICK bezeichnet)
(zusammen als TOEBRAKES bezeichnet)
Verriegelungs-Wert ist:
entweder 0 bis 100%, oder einfach LASTVALUE (letzter Wert)
Ein Beispiel:
BTN S2 /I LOCK (THR, 100%)
/O UNLOCK (THR)
HOTAS Cougar Referenz - Buch
152
THRUSTMASTER
Der LOCK Befehl wird also benutzt, um eine Achse zu zwingen, nur einen
einzelnen Wert zu produzieren, entweder irgendwo zwischen 0 und 100% ihrer
Bewegung, oder den letzten Wert, den sie gerade produziert hat, mittels
LASTVALUE. Die analoge Funktion der Achse kann durch den UNLOCK Befehl
wieder hergestellt werden.
Durcheinander? Nun, der einfachste Weg zum Verständnis führt über einige
Beispiele. Also dann:
1. Angenommen, wir wollen den Reichweiten-Regler als rein analoge Achse
verwenden, außer bei gedrückter Joystick-Taste S3, wenn wir wollen, dass dann
eine digitale Funktion produziert wird, und zwar unter Beibehaltung des letzten
analogen Wertes des Reichweiten-Reglers.
RNG /I LOCK (RNG, LASTVALUE) 2 5 a b c d e
/O UNLOCK (RNG)
Wenn die Joystick-Taste S3 nicht gedrückt ist, wird der Reichweiten-Regler als
normale analoge Achse gesehen, und seine Funktion wird ihm vom Spiel
zugewiesen.. Sobald die Joystick-Taste S3 gedrückt wird, ändert der
Reichweiten-Regler seine analogen Werte nicht mehr – er hält den Wert, der
zuletzt aktuell war, und kann nun benutzt werden, um die digitalen Funktionen „a
b c d e" zu produzieren, wie durch den Typ 2 Befehl und den /I Modifizierer
programmiert. Ich hoffe, das ist einigermaßen klar, also lasst uns mal sehen, wie
nützlich das sein kann:
2.
ANT /U /I LOCK (ANT, LASTVALUE) 2 10 1 2 3 4 5 6 7 8 9 0
/O UNLOCK (ANT) Rem vom Spiel zugewiesene Achse
/M UNLOCK (ANT) Rem vom Spiel zugewiesene Achse
/D LOCK (ANT, 0%) 3 Lower_flaps ^ Raise_Flaps
Mit dem Luftkampf-Schalter in /D Position (rechts) wird der ANTennen-Regler zur
digitalen Steuerung der Landeklappen durch einen Typ 3 Befehl verwendet, und
das Spiel erhält analog nur einen Null-Wert von dieser Achse. Mit dem LuftkampfSchalter in seiner mittleren Position (/M) verhält sich der ANTennen-Regler
ausschließlich analog, also so, wie vom Spiel vorgesehen. Mit dem LuftkampfSchalter in /U Position ist er ebenfalls ausschließlich analog, wenn die JoystickTaste S3 nicht gedrückt ist. Mit gedrückter Taste S3 wird der ANTennen-Regler
an seinem letzten Wert verriegelt (sozusagen eingefroren), und die Zeichen von 1
bis 0 werden bei seiner Drehung digital ausgegeben.
Die Verwendung von LOCK und UNLOCK in Kombination mit Digitalen Achsen
Befehlen ist ein sehr nützliches und wirkungsvolles Mittel zur Programmierung
von Achsen. Seid allerdings umsichtig – hier besteht durchaus auch die
Möglichkeit, Dinge eher zu verschlimmbessern!
HOTAS Cougar Referenz - Buch
153
THRUSTMASTER
ANMERKUNGEN
1. Man kann weder die Achsen des Joysticks, noch die des Microsticks, durch
den DISABLE Konfigurations-Befehl deaktivieren. Die Joystick-Achsen müssen
immer vorhanden sein – dies setzt DirectX voraus.
2. Wenn Ihr eine Achse in einer Datei ausschaltet, müssen die Controller durch
bestimmte Schritte Windows mitteilen, dass diese Achse nicht mehr da sei. Dies
kann etwas dauern, und daher benötigt der Download einer Datei, die die Anzahl
der für Windows vorhandenen Achsen verändert, ein wenig länger.
3. LOCK und UNLOCK Befehle müssen auf /U, /M, /D, /I, oder /O folgen, wenn
sie in Achsen Befehlen benutzt werden. Dies würde also zu einem KompilierFehler führen:
ANT LOCK (RNG, LASTVALUE)
Aber:
S2 LOCK (RNG, LASTVALUE)
ist in Ordnung!
Anmerkung des Übersetzers:
Aufgrund der Art und Weise, wie Windows die Werte von DirectX-Achsen liest und
verarbeitet, müsst Ihr bei der THRottle-Achse der Schubkontrolle daran denken, dass
die „Windows-Orientierung“ dieser analogen Achse entgegengesetzt zu dem ist, wie Ihr
sie eigentlich verstehen würdet:
wenn Ihr die Schubkontrolle nach vorne drückt, dann erhöht Ihr normalerweise
Eure Geschwindigkeit – doch für Windows nimmt der analoge Wert dieser Achse
ab: analoge 0% bedeuten hier, dass die Schubkontrolle sich am oberen Anschlag
befindet, analoge 100% wären also „0 Schub“!
Deshalb müsst Ihr für die THRottle-Achse etwas rechnen und die Werte für den
LOCK-Befehl entsprechend „herumdrehen“:
BTN S2 LOCK (THR, 100%)
würde die Schubkontrolle also auf 0% (Minimum) stellen,
BTN S2 LOCK (THR, 0%)
würde die Schubkontrolle also auf 100% (Maximum) stellen, und
BTN S2 LOCK (THR, 30%)
würde die Schubkontrolle also auf 70% stellen, usw.
(bei 50% stimmt’s dann zufällig ! )!
HOTAS Cougar Referenz - Buch
154
THRUSTMASTER
6.6
AchsenAchsen-Zuweisung (SWAP)
Die Achsen-Zuweisung erlaubt es Euch, Achsen-Zuweisungen zu vertauschen, und
zwar sowohl vor dem Start, als auch in der Luft. Dies alles erreicht Ihr durch den
SWAP Befehl.
Konfigurations-Befehl
USE SWAP (Achse(n), Achse(n))
Befehl
SWAP (Achse(n), Achse(n))
wobei gilt:
Achse(n) ist eine der folgenden Bezeichnungen:
JOYX, JOYY
THR
RNG, ANT
MIX, MIY
LBRK, RBRK
RDDR
(zusammen als JOYSTICK bezeichnet)
(zusammen als ROTARIES bezeichnet)
(zusammen als MICROSTICK bezeichnet)
(zusammen als TOEBRAKES bezeichnet)
Ein Beispiel:
USE SWAP (ANT, RNG)
vertauscht die Zuweisung der analogen Achsen des ANTennen-Reglers und des
Reichweiten-Reglers. Ein paar weitere Beispiele:
BTN S1 SWAP(JOYY, THR)
REM vertauscht die Y- und die
Schubkontroll-Achse
BTN S2 SWAP(JOYSTICK, MICROSTICK)
REM tauscht Joystick X und
Y mit Microstick X und Y
Das letzte Beispiel wird vom Kompilierer umgewandelt in:
BTN S2 SWAP(JOYX, MIX) SWAP(JOYY, MIY)
und daher ist es wichtig, dass die Anzahl der zu vertauschenden Achsen immer gleich
sein muss, wenn Ihr mehr als eine Achse auf einmal vertauscht. Also:
BTN S2 SWAP(JOYSTICK, MICROSTICK) ist in Ordnung, aber
BTN S2 SWAP(JOYSTICK, THR)
würde einen Kompilier-Fehler verursachen, da JOYSTICK 2 Achsen beinhaltet (JOYX
and JOYY), es sich bei THR aber nur um eine einzelne Achse handelt.
HOTAS Cougar Referenz - Buch
155
THRUSTMASTER
ANMERKUNGEN
Beim Vertauschen von Achsen-Zuweisungen nehmen diese ihre
Empfindlichkeits-Kurven mit. Dagegen werden etwaige Digitale Achsen
Funktionen nicht mitgetauscht.
HOTAS Cougar Referenz - Buch
156
THRUSTMASTER
6.7
RichtungsRichtungs-Umkehr von Achsen
(REVERSE, FORWARD)
Es besteht die Möglichkeit, die normale Richtung einer Achse umzukehren, und zwar
durch den REVERSE Befehl:
Konfigurations-Befehl
USE REVERSE (Achse)
Befehl
REVERSE (Achse)
FORWARD (Achse)
Achse ist eine der folgenden Bezeichnungen:
JOYX, JOYY
THR
RNG, ANT
MIX, MIY
LBRK, RBRK
RDDR
(zusammen als JOYSTICK bezeichnet)
(zusammen als ROTARIES bezeichnet)
(zusammen als MICROSTICK bezeichnet)
(zusammen als TOEBRAKES bezeichnet)
Das kann z.B. sehr nützlich sein für eine Helikopter-Simulation, wenn Ihr die
Schubkontrolle anders herum als für einen Jet benutzen wollt, oder wenn Ihr es wie
ich vorzieht, die Ruder-Pedale verkehrt herum zu benutzen!
Wenn ich also grundsätzlich die Richtung meiner Ruder ändern wollte, ohne dass ich
erst eine Joystick-Taste drücken muss, könnte ich das erreichen, indem ich dem
REVERSE Befehl ein USE voranstelle und ihn so als einen Konfigurations-Befehl
verwende:
USE REVERSE (RDDR)
Dies würde dann irgendwo am Anfand meiner Joystick-Datei stehen, und zwar in einer
eigenen Zeile. Lasst uns ein anderes Beispiel ansehen:
BTN H1U
/I REVERSE (JOYY)
/O FORWARD (JOYY)
Bewege ich nun HÜTCHEN 1 nach oben, während ich S3 gedrückt halte, würde das
zu einer Richtungs-Umkehr der Y-Achse des Joysticks führen. Bewege ich HÜTCHEN
1 nach oben, ohne S3 zu drücken, würde damit die normale „vorwärts”-Richtung
dieser Achse wieder hergestellt. Auch hier gilt wieder wie auch bei anderen Befehlen
zur Änderung von Achsen-Eigenschaften zu beachten, dass der Effekt der REVERSE
oder FORWARD Befehle immer bei der Achse bleibt, wenn diese z.B. vertauscht wird,
Digitale Achse Befehle aber nicht umgekehrt werden.
HOTAS Cougar Referenz - Buch
157
THRUSTMASTER
6.8
Der USE AXES_CONFIG
AXES_CONFIG Befehl
Wir haben nun ausführlich behandelt, wie man Achsen ausschaltet, vertauscht und
umkehrt, und zwar jeweils direkt bezogen auf bestimmte Achsen. Es ist darüber
hinaus auch möglich, all dies mit einem einzigen Konfigurations-Befehl in einer
Joystick-Datei, nämlich dem USE AXES_CONFIG Befehl, zu erledigen, welchen der
Kompilierer dann in die nötigen einzelnen Konfigurations-Befehle, die schon erklärt
wurden, umwandelt. Dies ist ein sehr umfangreicher Befehl, und er wird wohl eher
selten benötigt werden, doch er kann unter bestimmten Umständen sehr nützlich sein.
Lasst uns zunächst seine Verwendung betrachten …
Konfigurations-Befehl:
USE
AXES_CONFIG
HOTASAchse2) usw.
(DX-Achse1,
HOTASAchse1),
(DX-Achse2,
d.h. DX-Achse1 ist der HOTASAchse1 zugewiesen
Also, was ist der Unterschied zwischen einer DX-Achse und einer HOTAS Achse? Die
letztere ist einfacher zu erklären, also werde ich damit anfangen. Eine HOTAS Achse
ist jede der 10 physikalischen, d.h. tatsächlich vorhandenen, Achsen des Cougar (d.h.
JOYX, JOYY, THR, RDDR, ANT, RNG, MIX, MIY, LBRK, RBRK). Eine DX-Achse ist
etwas schwieriger zu erklären …
Dabei handelt es sich um eine Achse, die der Cougar an DirectX als vorhanden
meldet, und welcher dann vom Spiel eine Funktion zugewiesen wird. Nun, obwohl wir
10 Achsen zur Verfügung haben, unterstützt DirectX 8 nur 8 Achsen für USB Geräte
(und DirectX 7 nur 6). Wir machen Euch das Leben etwas einfacher, indem wir
Windows sagen: „Benutze die Joystick X-Achse als DX-Achse1, Joystick Y-Achse als
DX-Achse 2” usw. Windows weiß nicht, ob wir eine Schubkontrolle mit einem
Reichweiten-Regler oder was auch immer haben, da es diese Achsen auch
verwendet, wenn Ihr ein Lenkrad oder einen anderen Controller benutzt. Die DXAchsen und ihre Bezeichnungen findet Ihr in der folgenden Übersicht, und auch, wie
sie beim Cougar zugewiesen sind:
DirectX Achse
X Achse
Y Achse
Z Achse
Rotation X
Rotation Y
Rotation Z
Schieberegler
(Slider) 0
Slider 1
HOTAS Achse
Joystick X-Achse
Joystick Y-Achse
Schubkontrolle (TQS)
Antennen-Regler (TQS)
linkes Ruder-Pedal (Bremse)
Ruder-Pedale (1-achsig)
Reichweiten-Regler (TQS)
Syntax
JOYX
JOYY
THR
ANT
LBRK
RDDR
RNG
rechtes Ruder-Pedal (Gas)
RBRK
Achtung: Die Zuweisung der Einzel-Pedale (Toe Brakes) könnten sich noch ändern,
wenn die Cougar Ruder-Pedale produziert werden.
HOTAS Cougar Referenz - Buch
158
THRUSTMASTER
Um wieder auf den Gebrauch dieses Befehl zurückzukommen, gibt es 4 grundlegende
Regeln zu beachten:
1. Jede Achse (DirectX oder HOTAS Cougar), die nicht aufgeführt wird, wird vom
analogen Gebrauch ausgenommen.
2. Achsen in Klammern werden einander zugewiesen.
3. Jede HOTAS Cougar Achse mit einem negativen Zeichen „-“ vor ihrer Bezeichnung
wird in ihrer Richtung umgekehrt.
4. Es müssen immer die Achsen 1 und 2 vorhanden sein, da Windows dies zwingend
voraussetzt.
Lasst uns dies an einem weiteren Beispiel klar machen:
USE AXES_CONFIG (1, RNG), (2, ANT), (3, -THR)
In diesem Beispiel gilt:
1. Der Reichweiten-Regler ist der DirectX Achse 1 zugewiesen und wird damit als
Joystick X-Achse verwendet.
2. Der Antennen-Regler ist der DirectX Achse 2 zugewiesen und wird so als Joystick
Y-Achse verwendet.
3. Die Schub-Achse ist der DirectX Achse 3 zugewiesen, was dem Normalfall
entspricht, allerdings bedeutet das Minus-Zeichen vor ihrer Bezeichnung, dass ihre
Richtung umgekehrt wird – nützlich für Helikopter-Simulationen.
4. Es werden keine weiteren Achsen aufgeführt, sie stehen daher auch nicht im Spiel
zur Verfügung. Sie können davon unabhängig natürlich weiterhin digital
programmiert werden.
Wie Ihr sehen könnt ist es so mit einem einzigen Befehl möglich, mehrere Achsen auf
einmal zu vertauschen, auszuschalten oder umzukehren..
ANMERKUNGEN
1. Ihr könnt die Konfigurations-Befehle DISABLE, USE REVERSE oder USE SWAP
nicht in Verbindung mit dem USE AXES_CONFIG Befehl benutzen, ansonsten
erhaltet Ihr eine Fehlermeldung beim Kompilieren. Allerdings könnt Ihr nach wie vor
SWAP, REVERSE Befehle auf eine Joystick-Taste programmieren, wenn die
entsprechende Achse vorhanden ist.
2. Es ist viel einfacher, den USE PROFILE Befehl in Verbindung mit dem Cougar
Control Panel zu verwenden! Siehe frühere Anmerkungen.
3. DirectX weist die als vorhanden gemeldeten Achsen auf seine eigene Art zu, so
dass Ihr im Cougar Control Panel feststellen könntet, dass dies nicht unbedingt
dem entspricht, was Ihr vielleicht erwartet hättet. Tut mir leid, da müsst Ihr
gegebenenfalls ein wenig herum experimentieren, um die gewünschten Ergebnisse
zu erzielen.
HOTAS Cougar Referenz - Buch
159
THRUSTMASTER
Anmerkung des Übersetzers:
Ein aktuelles Beispiel für Punkt 3 wäre z.B. die Flug-Simulation „IL-2 Sturmovik“, die aus
irgendeinem unerfindlichen Grunde die Schubsteuerung lahm legt, da sie dieser nicht
die übliche THRottle-Achse zuweist, sondern eine andere – solltet Ihr dieses Phänomen
bemerken, so solltet Ihr diese Zuweisung im „HOTAS“-Abschnitt der Kontoll-Optionen
des Spiels selbst überprüfen und ggf. korrigieren!
HOTAS Cougar Referenz - Buch
160
THRUSTMASTER
7. Maus-Programmierung
7.1
Die MausMaus-Steuerung und der Microstick
Im letzten Teil dieses Kapitels werden wir sehen, wie die Maus funktioniert, und Euch
ein paar pfiffige Dinge zeigen, die wir mit ihr anstellen können. Allerdings werde ich
nicht direkt mit ihren Befehlen und deren Verwendung anfangen, wie wir das zuvor
getan haben, da wir zunächst einmal ein wenig verstehen müssen, wie eine Maus
eigentlich funktioniert.
Ich bin mir ziemlich sicher, dass Ihr den Microstick der TQS Schubkontrolle schon
benutzt haben werdet, und geglaubt habt, dies sei eine Maus-Steuerung, da er ja die
Maus bewegt. Nichtsdestotrotz ist es wichtig, sich über den folgenden Punkt im Klaren
zu sein:
Der Microstick ist KEINE Maus.
Der Microstick ist wie ein kleiner Mini-Joystick. Normalerweise steuert er die Maus,
weil der Kompilierer ihn dazu veranlasst. Der Kompilierer weist seinen beiden Achsen
(MIX and MIY) die Maus-Steuerung zu, ohne dass Ihr das bemerkt.
Was ist denn diese Maus-Steuerung? Und warum können wir nicht einfach die X- und
Y-Achse der Maus der X- und Y-Achse des Microsticks zuweisen?
Der Grund ist dieser: die Maus als ein Gerät besteht nicht aus festen Achsen als
solches. Verwirrt? Nun, wenn Ihr an den Joystick denkt, dann generiert dieser, wenn
Ihr ihn herum bewegt, feste X- and Y-Koordinaten, die seine genaue Stellung
angeben. Wenn der Joystick einen Cursor steuern würde, wie er das in Foxy's
„Joystick Analyser” tut, dann würde dessen Bewegung mit der des Joysticks
übereinstimmen. Wenn der Joystick aufhört, sich zu bewegen, hört auch dieser Cursor
auf, sich zu bewegen. Doch der Microstick verhält sich bei der Maussteuerung ganz
anders. Wenn Ihr diesen wie zuvor den Joystick bewegt und ihn dann in einer Position
außerhalb seines Zentrums haltet, dann bewegt sich die Maus weiter. Sie stoppt nicht,
obwohl der Microstick still steht. Das kommt daher, dass der Microstick dem Computer
nicht sagt "Hey, beweg’ die Maus and diese X, Y Position und halt’ dann an", sondern
statt dessen "Beweg’ die Maus weiter entlang ihrer X-Achse mit einer Geschwindigkeit
von 3 und einer Geschwindigkeit von 2 entlang ihrer Y-Achse, bis ich Dir was anderes
sage." Wenn dann der Microstick wieder zentriert wird, bewegt sich der Cursor nicht
auch zur Bildschirm-Mitte zurück, sondern bleibt stehen, wo er sich gerade befindet,
da der Microstick seine Anweisung geändert hat, und zwar zu "OK, Du kannst jetzt
damit aufhören, die Maus entlang ihrer X- und Y-Achse zu bewegen."
Ein Maus-Cursor kann also dazu veranlasst werden, sich zu bewegen, indem
man Werte unterschiedlich von Null für die Maus-X- und/oder Maus-Y-Achse
(MSX und MSY) zuweist. Und wenn wir den Microstick anweisen, die Werte von
MSX und MSY zu ändern, dann steuert der Microstick die Maus
HOTAS Cougar Referenz - Buch
161
THRUSTMASTER
Und der Grund, warum wir dies auf diese Weise umgesetzt haben, sollte Euch
langsam dämmern. Wir können so alles verwenden, um MSX und MSY zu verändern.
Den Microstick, den Joystick, ein Hütchen, eine Joystick-Taste, logische Schalter… Ihr
habt freie Wahl. Und sie können das gleichzeitig übernehmen. Auf diese Weise
könnten wir den Microstick für schnelle Maus-Bewegungen programmieren, und ein
Hütchen für langsamere!
HOTAS Cougar Referenz - Buch
162
THRUSTMASTER
7.2
USE MTYPE - Der einfachste Weg, die
Maus dem Microstick
Microstick zuzuweisen
Im späteren Verlauf dieses Kapitels werde ich Euch zeigen, wie Ihr Euch die Maus auf
dem Microstick mit genau dem Verhalten, wie Ihr das möchtet, einrichten könnt. Doch
dies erfordert ein genaues Verständnis der Digitalen Typ Befehle und der MSX und
MSY Funktionen, und es ist nichts für Überängstliche. Daneben gibt es allerdings
glücklicherweise auch einige Befehle, mit denen wir ganz einfach die Maus dem
Microstick zuweisen können. Dieses sind die USE MTYPE und USE MICROSTICK
AS MOUSE Konfigurations-Befehle. Lasst uns direkt mit dem USE MTYPE Befehl
anfangen, da dieser sehr einfach zu verstehen und zu benutzen ist.
Konfigurations-Befehl:
USE MTYPE Typ - REVERSE_Art
wobei gilt:
Typ:
ist eine Bezeichnung von A1 bis A5 und legt fest, welche Taste der
Schubkontrolle als linke und rechte Maus-Taste verwendet werden sollen:
Typ
A1
A2
A3
A4
A5
Linke Maus-Taste
T1
T6
T1
T6
keine
Rechte Maus-Taste
T6
T1
keine
keine
keine
T1 ist die in den Microstick eingebaute Taste - der Microstick wird gedrückt
um sie zu betätigen, und
T6 ist die Taste auf dem Reichweiten-Regler.(RNG)
REVERSE_Art ist REVERSE_UD und/oder REVERSE_LR
REVERSE_UD kehrt die Richtung für hoch (Up) und runter (Down) um
(Maus Y-Achse), und
REVERSE_LR die Richtung für links und rechts um (Maus X-Achse).
Einige Beispiele:
USE MTYPE A3
weist die Maus dem Microstick zu und legt die linke Maus-Taste auf T1.
USE MTYPE A5 - REVERSE_UD
weist die Maus dem Microstick zu, ohne eine Taste für die Maus-Tasten
festzulegen, und kehrt die Richtung der Y-Achse um.
HOTAS Cougar Referenz - Buch
163
THRUSTMASTER
ANMERKUNGEN
1. Die Maus-Geschwindigkeit wird dabei vom Kompilierer so voreingestellt, dass
sie für Auflösungen bis 1024 x 768 geeignet sein sollte. Diese Empfindlichkeit
für den USE MTYPE Befehl kann nicht verändert werden, so dass Ihr bei
höheren Auflösungen, oder wenn Ihr einfach eine mehr oder weniger
empfindliche Maus haben wollt, den USE MICROSTICK AS MOUSE Befehl
verwenden solltet, der im nächsten Abschnitt behandelt wird.
2. Der Microstick ist wie gesagt ein analoger Controller. Er ist kein digitaler 4Wege Schalter wie bei den originalen TM HOTAS, und daher entfallen die
bisherigen Tasten T11 bis T14 für die Programmierung. Ihr könnt T11 bis T14
durch entsprechende Digitaler Typ Befehle emulieren, wenn Ihr das möchtet siehe Foxy’s Hilfe-Kapitel „Konvertierung von TQS T11 - T14 Befehlen für den
Cougar Microstick“. Beachtet, dass der Microstick eben genau dies ist – ein
Controller mit 2 Achsen, nicht mit mehreren Schaltern. Auf diese Weise kann er
wesentlich mehr.
3. Wenn Ihr die Empfindlichkeits-Kurve des Microsticks verändert, wirkt sich dies
nicht auf die Maus aus, da diese durch eine digitale Funktion gesteuert wird,
und digitale Funktionen nicht von analogen Kurven beeinflusst werden.
4. Wenn Ihr einen USE MTYPE Befehl in Eurer Joystick-Datei verwendet, der
irgendeine der Maus-Tasten T1 oder T6 zuweist, dann könnt Ihr diese
Positionen nicht weiter programmieren. Wenn wir z.B. folgendes haben:
USE MTYPE A3
wird der Kompilierer automatisch – und für Euch nicht sichtbar – folgenden
Befehl hinzufügen:
BTN T1 /H MOUSE_LB
Wenn Ihr dann also irgendwo anders in Eurer Datei noch so etwas hättet:
BTN T1 einMakro oder
BTN T1 /H MOUSE_RB
dann wird der Kompilierer einen Fehler melden. Wenn Ihr einen USE MTYPE
Befehl zur einfachen Zuweisung der Maus auf den Microstick verwenden wollt,
aber gleichzeitig T1 und/oder T6 unabhängig davon programmieren möchtet,
dann solltet Ihr stattdessen den USE MTYPE A5 oder einen sinngemäßen Befehl
verwenden, der der Taste oder den Tasten, die Ihr programmieren möchtet, keine
Maus-Taste zuweist.
HOTAS Cougar Referenz - Buch
164
THRUSTMASTER
7.3
USE MICROSTICK AS MOUSE
Die zweite Möglichkeit der Zuweisung der Maus auf den Microstick ist mittels des USE
MICROSTICK AS MOUSE Befehls. Dieser hat den Vorteil gegenüber dem USE
MTYPE Befehl, dass Ihr das Verhalten der Maus, d.h. ihre Geschwindigkeit und
Beschleunigung, beeinflussen könnt. Auch dieser Befehl legt standardmäßig die linke
Maus-Taste auf T1, doch dies könnt Ihr durch den - NO_BUTTON Modifizierer
unterbinden. Für die meisten Flug-Simulationen werden wir natürlich die linke MausTaste auf T1 wollen. Der USE MICROSTICK AS MOUSE Befehl veranlasst den
Kompilierer, entweder einen Typ 5 oder einen Typ 6 Digitale Achse Befehl zu
erstellen, oder einen Typ 5, wenn ein Start-Wert angegeben wird.
Und so wird er verwendet:
Konfigurations-Befehle
Für Typ 6 Befehle: (ohne Angabe eines Start-Wertes)
USE MICROSTICK AS MOUSE (Anzahl Schritte, Beschleunigungs-Wert) Modifizierer
Für Typ 5 Befehle: (bei Angabe eines Start-Wertes)
USE MICROSTICK AS MOUSE (Anzahl Schritte, Beschleunigungs-Wert, StartWert) - Modifzierier
(Anmerkung: USE MICROSTICK AS MOUSE ( ) Befehle weisen die linke MausTaste der Microstick-Taste T1 zu, außer wenn der - NO_BUTTON Modifizierer
angehängt wird.)
wobei gilt:
Anzahl Schritte:
Eine Zahl zwischen 2 und 12. Diese gibt an, in wie
viele Abschnitte = Schritte die Achsen des Microsticks
unterteilt werden sollen.
Beschleunigungs-Wert:
Beschleunigungs-Wert für jeden Schritt, als Zahl
zwischen 1 und 63.
(Beachtet, dass die Anzahl der Schritte multipliziert
mit dem Beschleunigungs-Wert weniger als 128
betragen muss. Denkt nicht mal daran, nach dem
warum zu fragen!)
Start-Wert:
Der Start-Wert für einen Typ 5 Befehl, von dem aus
die Beschleunigung anfängt. Dies ist die anfängliche
Geschwindigkeit der Maus, wenn der Microstick aus
seiner Mittel-Stellung heraus bewegt wird.
HOTAS Cougar Referenz - Buch
165
THRUSTMASTER
Modifizierer:
REVERSE_UD:
REVERSE_LR:
NO_BUTTON:
Kehrt die Microstick Y-Achse um.
Kehrt die Microstick X-Achse um.
Weist den Kompilierer an, nicht T1 als linke MausTaste zu verwenden. Dies erlaubt Euch, die JoystickTaste T1 durch einen BTN T1 Befehl anderweitig zu
programmieren.
Lasst uns direkt mal einige Beispiele ansehen.
USE MICROSTICK AS MOUSE (12, 2)
Dieser Konfigurations-Befehl würde die Maus dem Microstick zuweisen und T1
als die linke Maus-Taste einrichten. Schaut Euch diese beiden Befehle mal an:
USE MICROSTICK AS MOUSE (6, 4)
USE MICROSTICK AS MOUSE (7, 3, 2)
Auch diese würden die Maus dem Microstick zuweisen und T1 als die linke
Maus-Taste einrichten. Wir haben also jetzt 3 Befehle, die eindeutig voneinander
verschieden sind, doch ich habe ja gerade gesagt, dass sie alle das Gleiche
machen. Nun, das stimmt insofern als dass sie alle die Maus dem Microstick
zuweisen, doch sie unterscheiden sich in der Art, wie sich diese Maus auf dem
Microstick verhält. Das bedeutet natürlich, dass ich jetzt erst einmal erklären
sollte, was die Zahlen in den Klammern genau bewirken.
Also, im nächsten Abschnitt werden wir uns ganz genau damit befassen, was sie
bewirken, und das wird schon etwas anstrengender werden. Hier also eine
vereinfachte Erklärung für mein einfacheres Gehirn!
Lasst uns mal nur die Microstick X-Achse betrachten. Was jeder USE
MICROSTICK AS MOUSE Befehl macht ist, die Achse in mehrere Abschnitte zu
unterteilen, wie auf dem Diagramm unten zu sehen ist. (Zur Veranschaulichung
habe ich alle Abschnitte gleich groß dargestellt, obwohl das streng genommen
eigentlich nicht der Fall ist – dies nur für alle Puristen unter Euch.)
Der Bereich „C” repräsentiert das Zentrum der Achse, d.h. der Microstick befindet
sich unberührt in seiner Mittel-Stellung. Hier wollen wir natürlich nicht, dass sich
die Maus bewegt. Auf jeder Seite des Zentrums liegen die gelb dargestellten
Bereiche (1), in denen die Maus anfangen soll, sich zu bewegen, wenn wir den
Microstick dort hinein bewegen. Darüber hinaus gibt es noch einige weitere
Regionen (2 & 3), die der Microstick „betreten“ wird, wenn wir ihn von seinem
Zentrum weg bewegen.
HOTAS Cougar Referenz - Buch
166
THRUSTMASTER
Zurück zur Schreibweise:
USE MICROSTICK AS MOUSE (Anzahl Schritte, Beschleunigungs-Wert, optionaler
Start-Wert)
Die Anzahl der Schritte gibt an, in wie viele Regionen die Microstick-Achse
unterteilt werden soll. Dieser Wert ist nicht das Gleiche wie die Anzahl der
Regionen, er ist Teil einer Gleichung, und je größer dieser Wert ist, desto größer
ist die Anzahl der Regionen, in die die Achse unterteil wird.
Anmerkung des Übersetzers:
Schön formuliert – alles klar? Dieser Wert gibt schlicht die Anzahl der Regionen
vom Zentrum aus nach außen hin an ! (siehe oben: 3, und zwar auf jeder Seite)!
Der Beschleunigungs-Wert bestimmt, um wie viel die Geschwindigkeit der Maus
jeweils zunimmt, wenn der Microstick in die nächste Region bewegt wird. Lasst
mich das an einem Beispiel erklären, um zu zeigen, was geschieht, wenn der
Microstick von seiner Mittel-Stellung aus bis ganz an seinen Anschlag bewegt
wird, wobei er diese Regionen durchquert. Den Start-Wert werde ich später
erklären.
USE MICROSTICK AS MOUSE (4, 2)
Region C:
Der Microstick befindet sich in seiner Mittel-Stellung, und daher bewegt
sich die Maus nicht.
Region 1:
Die Maus beginnt nun, sich zu bewegen, und zwar mit einer
Geschwindigkeit, die sich aus dem Beschleunigungs-Wert ergibt, einer
„Geschwindigkeit von 2” sozusagen.
Region 2:
Die Geschwindigkeit der Maus erhöht sich um den BeschleunigungsWert, so dass sie sich nun mit einer Geschwindigkeit von 4 bewegt.
Region 3:
Die Geschwindigkeit der Maus erhöht sich um den BeschleunigungsWert, so dass sie sich nun mit einer Geschwindigkeit von 6 bewegt.
Region 4, 5, 6 usw.
Je nach Anzahl der durch die Angabe der Schritte erzeugten Regionen
könnt Ihr beobachten, wie die Maus immer schneller und schneller wird,
wenn der Microstick durch diese Regionen bewegt wird. Wenn Ihr ihn
dann durch diese Regionen wieder zurück zur Mitte bewegt, dann wird
die Maus natürlich entsprechend langsamer und langsamer.
HOTAS Cougar Referenz - Buch
167
THRUSTMASTER
Lasst uns nun mal sehen, welchen Effekt die Angabe eines Start-Wertes hat.
USE MICROSTICK AS MOUSE (4, 2, 1)
Der Start-Wert bestimmt die Start-Geschwindigkeit, mit welcher sich die Maus in
Region 1 bewegt. Danach wird die Geschwindigkeit wie gehabt um den
Beschleunigungs-Wert erhöht oder verringert, wenn der Microstick durch die
restlichen Regionen bewegt wird. Also:
Region C:
Der Microstick befindet sich in seiner Mittel-Stellung, und daher bewegt
sich die Maus nicht.
Region 1:
Die Maus beginnt nun, sich zu bewegen, und zwar mit einer
Geschwindigkeit, die sich aus dem Start-Wert ergibt, einer
„Geschwindigkeit von 1” sozusagen.
Region 2:
Die Geschwindigkeit der Maus erhöht sich um den BeschleunigungsWert, so dass sie sich nun mit einer Geschwindigkeit von 3 bewegt
(Start-Wert 1 + Beschleunigungs-Wert 2 = Geschwindigkeit 3).
Region 3:
Die Geschwindigkeit der Maus erhöht sich um den BeschleunigungsWert, so dass sie sich nun mit einer Geschwindigkeit von 5 bewegt.
Region 4, 5, 6 usw.
Je nach Anzahl der durch die Angabe der Schritte erzeugten Regionen
könnt Ihr beobachten, wie die Maus immer schneller und schneller wird,
wenn der Microstick durch diese Regionen bewegt wird. Wenn Ihr ihn
dann durch diese Regionen wieder zurück zur Mitte bewegt, dann wird
die Maus natürlich entsprechend langsamer und langsamer.
Macht Euch keine Sorgen, wenn Ihr noch nicht alles gleich auf Anhieb versteht,
ich versuche lediglich, einen generellen Überblick zu vermitteln: größere Werte
führen immer zu einer schnelleren Maus.
Außerdem können wir die Richtung der Maus-Bewegung durch den Microstick
umkehren, wie wir das schon mit anderen Befehlen in anderen Kapiteln getan
haben, nämlich folgendermaßen:
USE MICROSTICK AS MOUSE (7, 3, 2) - REVERSE_UD
USE MICROSTICK AS MOUSE (7, 3, 2) - REVERSE_LR
Ehe ich diesen Abschnitt beende, sollte ich der Vollständigkeit halber noch die
sonstigen Verwendungsmöglichkeiten dieses Befehls behandeln, nämlich die
Zuweisung der Maus auf andere Achsen.
HOTAS Cougar Referenz - Buch
168
THRUSTMASTER
7.3.1 Zuweisung anderer Achsen zu Maus-Achsen
Nun, der USE MICROSTICK AS MOUSE Befehl ist eigentlich nur eine spezielle Variante
des folgenden Befehls („speziell“ da er zusätzlich die linke Maustaste der Microstick-Taste
T1 zuweist):
Konfigurations-Befehle
Für Typ 6 Befehle:
USE Achse(n) AS Maus-Achse(n) (Anzahl Schritte, Beschleunigungs-Wert) - REVERSE_Typ
Für Typ 5 Befehle:
USE Achse(n) AS Maus-Achse(n) (Anzahl Schritte, Beschleunigungs-Wert, Start-Wert)
- REVERSE_type
wobei gilt:
Achse(n) ist eine der folgenden Bezeichnungen:
JOYX, JOYY
(zusammen als JOYSTICK bezeichnet)
THR
RNG, ANT
(zusammen ROTARIES bezeichnet)
MIX, MIY (zusammen MICROSTICK bezeichnet)
LBRK, RBRK
(zusammen TOEBRAKES bezeichnet)
RDDR
Maus-Achse(n) ist eine der folgenden Bezeichnungen:
MOUSE
MOUSEX
MOUSEY
MOUSEZ (das Maus-Rad)
Anzahl Schritte:
Eine Zahl zwischen 2 und 12. Diese gibt an, in wie viele
Abschnitte = Schritte die Achse unterteilt werden sollen.
Beschleunigungs-Wert:
Beschleunigungs-Wert für jeden Schritt, als Zahl
zwischen 1 und 63.
(Beachtet, dass die Anzahl der Schritte multipliziert mit
dem Beschleunigungs-Wert weniger als 128 betragen
muss. Denkt nicht mal daran, nach dem warum zu
fragen!)
Start-Wert:
Der Start-Wert für einen Typ 5 Befehl, von dem aus die
Beschleunigung anfängt. Dies ist die anfängliche
Geschwindigkeit der Achse, wenn sie aus ihrer MittelStellung heraus bewegt wird.
HOTAS Cougar Referenz - Buch
169
THRUSTMASTER
REVERSE_Typ:
REVERSE_UD:
REVERSE_LR:
REVERSE_DIR:
kehrt die Richtung der Achse um:
wenn eine Sammelbezeichnung von 2 Achsen
angegeben ist (JOYSTICK, ROTARIES, MICROSTICK,
TOEBRAKES).
wenn eine Sammelbezeichnung von 2 Achsen
angegeben ist, kann dies in Verbindung mit
REVERSE_UD verwendet werden.
kehrt eine einzelne Achse um. Kann nicht in
Verbindung mit REVERSE_UD, oder REVERSE_LR
verwendet werden.
So können wir andere Achsen zur Steuerung der Maus-Achsen verwenden, auf genau
die gleiche Weise. Hier also einige Beispiele:
USE ROTARIES AS MOUSE (6, 4)
USE JOYSTICK AS MOUSE (11, 2, 0)
USE ANT AS MOUSEY (5, 2) - REVERSE_DIR
USE JOYY AS MOUSEZ (9, 3)
Das letzte Beispiel steuert das Maus-Rad mit der Joystick Y-Achse!
Bisher haben wir uns also zwei Befehle angesehen, mit denen wir die MausSteuerung auf den Microstick legen können, und im letzten Teil auch auf andere
Achsen. Erinnert Euch an die HÜTCHEN Programmierung, wir könnten nämlich auch
die Maus-Steuerung einem Hütchen zuweisen, z.B. so:
USE HAT1 AS MOUSE (2)
Tatsächlich könnten wir sogar die Maus-Steuerung dem Microstick und gleichzeitig noch
einem Hütchen zuweisen, wobei wir mit dem Microstick die Maus schnell zu jeder
gewünschten Position bewegen und das Hütchen zur Feineinstellung dieser Position
verwenden könnten! [Applaus, bitte]
Ich möchte nun erklären, was genau hier vorgeht, oder vielleicht sollte ich eher sagen:
wie der Kompilierer diesen Befehl verarbeitet und in was er ihn umwandelt, nämlich in
einen Digitaler Typ Befehl für die Microstick-Achsen. Das wird ein wenig kompliziert zu
erklären, und eben deshalb habe ich auch nicht direkt damit angefangen. Der nächste
Abschnitt ist nur für bereits fortgeschrittene Anwender gedacht (glaubt mir, ich hab’
eine Ewigkeit gebraucht, das in meinen Schädel zu bekommen!). Aber wenn Ihr es
erst einmal in Eure Schädel bekommen habt, dann könnt Ihr Eure eigene,
maßgeschneiderte Maus-Steuerung für welche Achse auch immer programmieren,
um genau das Resultat zu bekommen, welches Ihr haben möchtet. Ihr werdet dann
außerdem in der Lage sein, Maus-Befehle mit anderen digitalen Befehlen zu mischen,
z.B. auf dem Microstick, um z.B. ohne gedrückte Joystick-Taste S3 Euren RadarCursor zu steuern, und mit gedrückter Taste S3 Eure Maus. Pfiffig, was!
HOTAS Cougar Referenz - Buch
170
THRUSTMASTER
7.4 BenutzerBenutzer-Definierte Maus & Microstick
Microstick
Wir haben in den vorigen Kapiteln gesehen, wie wir die Maus dem Microstick durch
die USE MTYPE und USE MICROSTICK AS MOUSE Befehle zuweisen können. Was
diese Befehle machen ist ziemlich einfach, nämlich den Microstick mittels digitaler
Befehle programmieren. In diesem Kapitel möchte ich nun erklären, wie Ihr Eure
eigenen digitalen Befehle zur Programmierung der Maus auf den Microstick oder wo
anders erstellen könnt.
Man kann den Microstick mittels jedes digitalen Befehls programmieren, da es sich im
Grunde auch nur um Achsen handelt, die den gleichen Regeln wie alle anderen
Achsen auch unterliegen. Ich werde also einfach mal mit den Typ 1 und Typ 2
Befehlen beginnen, obwohl es keinen Grund gibt, warum wir nicht auch jeden anderen
der 6 digitalen Typ Befehle verwenden sollten. Lasst uns also einen Blick auf einen
geeigneten Typ 1 Digitaler Befehl werfen:
MIX 1 14 MSX (2+) MSX (2-) MSX (0)
MIY 1 14 MSY (2-) MSY (2+) MSY (0)
Nun, diese sehen wie ganz normale Typ 1 Befehle aus, außer, dass wir einige „-" und
„+" Zeichen in ihnen finden. Um diese zu verstehen, werde ich Euch genau erklären,
was passiert wenn wir nun den Microstick bewegen. Rufen wie uns also in Erinnerung,
wie ein Typ 1 Befehl funktioniert. Wenn wir folgendes hätten:
MIX 1 6 u d c
dann würde die Microstick X-Achse, wenn sie von ganz links nach ganz rechts und
wieder zurück bewegt würde, folgende Zeichen produzieren:
uuucuuudddcddd
Für unser Beispiel nehmen wir nun:
MIX 1 14 MSX (2+) MSX (2-) MSX (0)
Nun erhalten wir keine Zeichenfolge mehr. Die Zahlen in den Klammern geben an, wie
viel zum derzeitigen Maus-Buffer hinzugezählt oder von ihm abgezogen werden soll –
mit anderen Worten, um wie viel schneller oder langsamer die Maus sich bewegen
soll.
Angenommen, die Maus steht still und der Microstick ist zentriert. Der Wert für die
Mittel-Stellung dieser Microstick-Achse wird durch den Zentrum-„Zeichen"-Teil des
Digitale Achse Befehls angegeben – d.h. MSX (0). Dies weist der Maus-Steuerung
eine Geschwindigkeit von Null zu, d.h. keine Bewegung auf der X-Achse. Wenn wir
den Microstick nach rechts bewegen, wird die Maus beginnen, sich nach rechts mit
einer „Geschwindigkeit von 2” zu bewegen, da eine positive 2 zum MausZwischenspeicher addiert wird. Bewegt den Microstick weiter nach rechts, und die
Maus bewegt sich mit einer Geschwindigkeit von 4… bewegt ihn ganz nach rechts,
und sie wird sich mit einer Geschwindigkeit von 14 (7 x 2) bewegen. Lasst den
HOTAS Cougar Referenz - Buch
171
THRUSTMASTER
Microstick wieder los und die Geschwindigkeit der Maus-Bewegung nach rechts nimmt
wieder ab, da die entsprechenden Werte wieder vom Maus-Zwischenspeicher, und
damit auch von der Geschwindigkeit, abgezogen werden, bis der Microstick wieder
zentriert ist. Dort hört die Maus auf sich zu bewegen, da wir wieder beim Zentrums„Zeichen" des Befehls angekommen sind, d.h. MSX (0).
Das gleiche geschieht aus genau den gleichen Gründen, wenn der Microstick nach
oben oder unten bewegt wird.
Beachtet bitte: wenn wir wollen, dass die Y-Achse des Microsticks die Maus in der
gleichen Weise steuert wie ein Joystick das täte (zurückziehen und die Maus wandert
hoch), dann müssten wir den Befehl entsprechend abändern:
MIY 1 14 MSY (2+) MSY (2-) MSY (0)
Dies funktioniert deshalb, weil eine Erhöhung des Maus-Y-Achsen Buffers (MSY) die
Maus nach unten bewegt, und vice versa. Eine wichtige Regel, die es zu beachten gilt,
ist die Verwendung von „+" oder „-" Zeichen innerhalb der Klammern, und der
Umstand, dass sie hinter der Zahl stehen. So zeigen sie an, dass der Wert vor ihnen
entweder zum Maus-Buffer der entsprechenden Maus-Achse hinzugezählt (+) oder
von ihm abgezogen (-) werden soll. Das ist einfacher zu verstehen, wenn wir uns jetzt
mal Typ 2 Befehle ansehen. Ich hoffe, Ihr seid dabei. Noch!
Ich könnte auch Typ 2 Befehle benutzen, um die Maus auf die Microstick-Achsen zu
legen:
MIX 2 9 MSX(-8) MSX(-4) MSX(-2) MSX(-1) MSX(0) MSX(1) MSX(2) MSX(4) MSX(8)
MIY 2 9 MSY(8) MSY(4) MSY(2) MSY(1) MSY(0) MSY(-1) MSY(-2) MSY(-4) MSY(-8)
Dies sind ganz normale Digitaler Typ 2 Befehle. Sie unterteilen jede Achse in 9 gleich
große Bereiche und weisen jedem die angegebenen Maus-Buffer Werte zu. Eine
Bewegung des Microsticks nach rechts entlang seiner X-Achse führt also zu einer
Anfangs-Bewegung mit einer Geschwindigkeit von 1, und dann einer Geschwindigkeit
von 2... dann 4... und schließlich 8. Beachtet dabei die Position des „-" Zeichens. Es
steht diesmal vor den Werten, was bedeutet, dass diese diesmal nicht vom MausBuffer abgezogen werden. Stattdessen geben sie den genauen (hier negativen) Wert
an, der gelten soll, wenn der Microstick in diesen Bereich bewegt wird.
Bezüglich der Syntax sind die folgenden Befehle genau gleich:
MIX 2 7 MSX(-4) MSX(-2) MSX(-1) MSX(0) MSX(1) MSX(2) MSX(4)
MIX 2 7 MSX(-4) MSX(-2) MSX(-1) MSX(0) MSX(+1) MSX(+2) MSX(+4)
d.h., wenn ein „+" Zeichen fehlt, wird angenommen, dass es links des Wertes stehen
würde. Im Gegensatz dazu würden die folgenden Befehle:
MIX 2 7 MSX(-4) MSX(-2) MSX(-1) MSX(0) MSX(1) MSX(2) MSX(4)
MIX 2 7 MSX(4-) MSX(2-) MSX(1-) MSX(0) MSX(1+) MSX(2+) MSX(4+)
ganz andere Ergebnisse liefern.
HOTAS Cougar Referenz - Buch
172
THRUSTMASTER
Mit all dem im Hinterkopf wollen wir mal sehen, was der Kompilierer macht, wenn er
einen USE MICROSTICK AS MOUSE Befehl in Eurer Joystick-Datei findet. Der
Kompilierer „übersetzt“ diese Befehle in Typ 5 und Typ 6 Digitale Befehle, welche im
Prinzip das gleiche wie Typ 2 und Typ 1 Befehle sind, nur dass wir hier die Größe der
Regionen angeben können. Wir erinnern uns an die Syntax dieses Befehls:
USE MICROSTICK AS MOUSE (Anzahl Schritte, Beschleunigungs-Wert, optionaler StartWert)
Ich habe zuvor gesagt, dass die Anzahl der Schritte benutzt wird, um die Anzahl der
Regionen anzugeben, in die die Achse unterteilt werden soll. Dies geschieht nach der
Formel:
Anzahl Regionen = (Anzahl Schritte x 2) - 1
Der Kompilierer erstellt dann diese Regionen mit unterschiedlichen Größen, wobei er
eine komplizierte Formel, auf die ich nicht näher eingehen werde, benutzt, und erstellt
Digitale Typ 6 Befehle, wenn kein Start-Wert angegeben wird.
Typ 6 Digitaler Befehl
USE MICROSTICK AS MOUSE (2, 2)
MIX 6 3 (2 24 75 98) MSX(2+) MSX(2-) ^
MIY 6 3 (2 24 75 98) MSY(2-) MSY(2+) ^
BTN T1 /H MOUSE_LB Rem Halte die linke Maus-Taste wenn T1 gedrückt wird
Nun, etwas haben wir hier anders gemacht. Ich habe kein MSX(0) und MSY(0) für die
Mitte der Achsen angegeben, wie bei:
MIX 6 3 (2 24 75 98) MSX(2+) MSX(2-) MSX (0)
MIY 6 3 (2 24 75 98) MSY(2-) MSY(2+) MSY(0)
Lasst mich den Grund erklären, da die Angabe eines „Null”-Zeichens anstelle von
MSX (0) und MSY (0) sowohl Vor- als auch Nachteile hat. Diese Typ 6 Befehle
unterscheiden sich von Typ 5 Befehlen insofern, als dass sie die Werte zu den X- und
Y-Werten im Maus-Buffer hinzuzählt bzw. abzieht, während Typ 5 Befehle direkt
absolute Werte in den Maus-Buffer schreiben. Wenn wir MSX(0) und MSY(0) für die
Mittel-Stellung angeben, dann setzen diese den Maus-Buffer auf Null zurück, so dass
garantiert wird, dass die Maus an der Mittel-Position der sie kontrollierenden Achse
anhält und sich nicht weiter bewegt. Im allgemeinen ist das gut so. Doch der Sinn im
Gebrauch von „Null“-Zeichen für die Mitte ist der, dass wir dann die Maus zusätzlich
zum Microstick noch mit einem Hütchen und/oder einer Joystick-Taste steuern
können, und zwar mit absehbaren Resultaten.
Ich könnte z.B. folgendes haben:
USE MICROSTICK AS MOUSE (2, 2)
BTN H1L MSX(1-)
BTN H1R MSX(1+)
HOTAS Cougar Referenz - Buch
173
THRUSTMASTER
und so den Microstick zur generellen Steuerung der Maus verwenden, und hätte
darüber hinaus noch Hütchen 1 links und rechts zur Fein-Kontrolle der X-Achse der
Maus. Das solltet Ihr Euch merken… alles hängt nur davon ab, was Ihr mit Eurer
Maus anstellen wollt. Leider gibt es keine Möglichkeit, den Kompilierer anzuweisen,
MSX(0) und MSY(0) als mittlere Zeichen für einen USE MICROSTICK AS MOUSE
Befehl zu verwenden. Falls Ihr so etwas möchtet, dann müsst Ihr die eigentlichen MIX
und MIY Befehle verwenden, oder einen Start-Wert angeben, so dass dann ein Typ 5
Befehl erzeugt wird, der eben diese MSX(0) und MSY(0) als mittlere Werte annimmt.
Lasst uns also mal sehen, was der Kompilierer mit einigen weiteren USE
MICROSTICK AS MOUSE Typ 6 Befehlen macht.
USE MICROSTICK AS MOUSE (3, 4)
wird umgewandelt in:
MIX 6 5 (2 16 32 68 84 98) MSX(4+) MSX(4-) ^
MIY 6 5 (2 16 32 68 84 98) MSY(4-) MSY(4+) ^
BTN T1 /H MOUSE_LB
USE MICROSTICK AS MOUSE (4, 2)
wird umgewandelt in:
MIX 6 7 (2 12 23 36 65 78 89 98) MSX(2+) MSX(2-) ^
MIY 6 7 (2 12 23 36 65 78 89 98) MSY(2-) MSY(2+) ^
BTN T1 /H MOUSE_LB
USE MICROSTICK AS MOUSE (12, 3)
wird umgewandelt in:
MIX 6 23 (2 4 6 8 11 14 17 21 25 30 36 43 58 65 71 76 80 84 87 90 93 95 97 98) MSX(3+) MSX(3-) ^
MIY 6 23 (2 4 6 8 11 14 17 21 25 30 36 43 58 65 71 76 80 84 87 90 93 95 97 98) MSY(3-) MSY(3+) ^
BTN T1 /H MOUSE_LB
USE MICROSTICK AS MOUSE (4, 2) - REVERSE_UD
wird umgewandelt in:
MIX 6 7 (2 12 23 36 65 78 89 98) MSX(2+) MSX(2-) ^
MIY 6 7 (2 12 23 36 65 78 89 98) MSY(2+) MSY(2-) ^
BTN T1 /H MOUSE_LB
HOTAS Cougar Referenz - Buch
174
THRUSTMASTER
Jetzt lasst uns mal sehen, was passiert, wenn wir einen Start-Wert für den USE
MICROSTICK AS MOUSE Befehl angeben. Der Kompilierer wandelt dies in einen
Digitalen Typ 5 Befehl um.
Typ 5 Digitaler Befehl
USE MICROSTICK AS MOUSE (2, 2, 3)
wird umgewandelt in:
MIX 5 3 (0 24 75 100) MSX(-3) MSX(0) MSX(3)
MIY 5 3 (0 24 75 100) MSY(3) MSY(0) MSY(-3)
BTN T1 /H MOUSE_LB
Beachtet, dass die Anzahl der Regionen, die erzeugt werden, 3 ist. Der mittlere Bereich
sorgt dafür, dass die Maus stehen bleibt, und die beiden Regionen auf jeder Seite
übernehmen diesen Start-Wert, so dass der Beschleunigungs-Wert in diesem Fall
ignoriert wird. Jetzt vergleicht diese Funktion mit der nächsten:
USE MICROSTICK AS MOUSE (3, 2, 3)
wird umgewandelt in:
MIX 5 5 (0 14 31 69 86 100) MSX(-5) MSX(-3) MSX(0) MSX(3) MSX(5)
MIY 5 5 (0 14 31 69 86 100) MSY(5) MSY(3) MSY(0) MSY(-3) MSY(-5)
BTN T1 /H MOUSE_LB
Nun könnt Ihr den Zusammenhang zwischen Start-Wert und Beschleunigungs-Wert sehen. Oder falls
nicht, vergleicht es mit dem folgenden Befehl, dann sollte das klar werden.
USE MICROSTICK AS MOUSE (3, 8, 1)
wird umgewandelt in:
MIX 5 5 (0 14 31 69 86 100) MSX(-9) MSX(-1) MSX(0) MSX(1) MSX(9)
MIY 5 5 (0 14 31 69 86 100) MSY(9) MSY(1) MSY(0) MSY(-1) MSY(-9)
BTN T1 /H MOUSE_LB
USE MICROSTICK AS MOUSE (12, 2, 3)
wird umgewandelt in:
MIX 5 23 (0 2 4 6 9 12 16 20 25 30 36 43 59 66 72 77 82 86 90 93 96 98 99 100)
MSX(-23) MSX(-21) … MSX(-3) MSX(0) MSX(3) … MSX(21) MSX(23)
MIY 5 23 (0 2 4 6 9 12 16 20 25 30 36 43 59 66 72 77 82 86 90 93 96 98 99 100)
MSY(23) MSY(21) … MSY(3) MSY(0) MSY(-3) … MSY(-21) MSY(-23)
BTN T1 /H MOUSE_LB
HOTAS Cougar Referenz - Buch
175
THRUSTMASTER
USE MICROSTICK AS MOUSE (3, 8, 1) - REVERSE_UD, REVERSE_LR
wird umgewandelt in:
MIX 5 5 (0 14 31 69 86 100) MSX(9) MSX(1) MSX(0) MSX(-1) MSX(-9)
MIY 5 5 (0 14 31 69 86 100) MSY(-9) MSY(-1) MSY(0) MSY(1) MSY(9)
BTN T1 /H MOUSE_LB
Und, der Vollständigkeit halber, das gleiche für die Zuweisung anderer Achsen:
USE JOYSTICK AS MOUSE (3, 2, 3)
JOYX 5 5 (0 14 31 69 86 100) MSX(-5) MSX(-3) MSX(0) MSX(3) MSX(5)
JOYY 5 5 (0 14 31 69 86 100) MSY(5) MSY(3) MSY(0) MSY(-3) MSY(-5)
USE JOYY AS MOUSEZ (4,2)
wird umgewandelt in:
JOYY 6 7 (2 12 23 36 65 78 89 98) MSY(2-) MSY(2+) ^
Nun, ich hoffe, ich habe Euch das klar machen können! Also weiter im Text.
HOTAS Cougar Referenz - Buch
176
THRUSTMASTER
7.5 USE ZERO_MOUSE
Dieser Konfigurations-Befehl ist nützlich, um zu verhindern, dass die Maus
„klemmt“, wenn Ihr Eure eigenen Maus-Befehle in Verbindung mit /I und /O
Modifizierern für den Microstick verwendet.
Wir haben im vorigen Kapitel gesehen, wie wir Digitale Befehle benutzen können,
um unsere „eigene“ Maus auf den Microstick zu programmieren. Ein USE
ZERO_MOUSE Konfigurations-Befehl kann verwendet werden, um zu
verhindern, dass Ihr eine „klemmende” Maus bekommt, wenn Ihr Maus-Befehle
in Verbindung mit /I und /O Modifizierern benutzt. Betrachtet einmal dieses
Beispiel:
MIX
MIY
/I 1 6 MSX(2+) MSX(2-)
/O 1 6 RARROW LARROW
/I 1 6 MSY(2-) MSY(2+)
/O 1 6 UARROW DARROW
Nach diesem Beispiel bewegt der Microstick die Maus, wenn die Joystick-Taste S3
gedrückt gehalten wird. Wenn Ihr S3 loslasst, während sich die Maus bewegt, wird
diese sich weiter bewegen, und sie wird „klemmen“, wenn sie einen Rand Eures
Bildschirms erreicht hat. Die Angabe des USE ZERO_MOUSE Befehls wird dies
verhindern, indem sie die Maus zwingt, anzuhalten, wenn die Joystick-Taste S3
gedrückt/losgelassen wird.
Es ist hier sicherlich erwähnenswert, dass diese „klemmende” Maus eigentlich
kein Bug, d.h. ein Fehler des Cougars, ist. Die Steuerung der Maus durch den
Microstick verhält sich genau so, wie sie laut ihrer Programmierung soll. Ihr könnt
auch im obigen Beispiel eine „klemmende“ Maus immer ganz einfach verhindern,
indem Ihr den Microstick erst wieder zentriert, ehe Ihr S3 loslasst. Die goldene
Regel, wenn es um „klemmenden” Tasten oder Maus-Bewegungen geht, lautet
hier: Ihr müsst die Joystick-Tasten, Hütchen und Achsen Eurer Controller so
verwenden, wie sie durch ihre Programmierung zu benutzen gedacht sind. Dieser
Befehl ist natürlich eine großartige Erleichterung für jene unter uns, die sich nie
an diese Regel halten ! !
HOTAS Cougar Referenz - Buch
177
THRUSTMASTER
7.6 Programmierung der MausMaus-Tasten
Ihr könnt die Maus-Tasten in Joystick-Tasten Befehlen, Achsen Befehlen …
eigentlich allen möglichen Befehlen zuweisen. Hier ist ihre Syntax:
Maus-Tasten Syntax:
MOUSE_LB
MOUSE_RB
MOUSE_MB
(MB = mittlere Taste auf einer 3-Tasten-Maus)
Hier ist ein Beispiel:
BTN T1 /I /H MOUSE_RB
/O /H MOUSE_LB
Mit diesem Befehl weisen wir die linke Maus-Taste der Taste T1 des Microsticks
zu, wenn die Joystick-Taste S3 nicht gedrückt wird, und die rechte Maus-Taste
ebenfalls, und zwar bei gedrückter Joystick-Taste S3.
Ihr könnt auch KD und KU mit den Maus-Tasten verwenden:
BTN S1 KD(MOUSE_LB) DLY(2000) KU (MOUSE_LB)
Wenn die Joystick-Taste S1 gedrückt wird, wird die linke Maus-Taste für 2
Sekunden gedrückt und dann wieder los gelassen
HOTAS Cougar Referenz - Buch
178
THRUSTMASTER
7.7
Die StandardStandard-Zuweisung der Maus auf
den Microstick ausschalten
Im „Präferenzen” („Vorlieben”
„Defaults" (Voreinstellungen).
Kompilierer anzuweisen, die
übernehmen, wenn in einer
vorkommt.
! ) Fenster von Foxy ist ein Reiter namens
Der Zweck dieser Einstellungen ist es, den
ausgewählten Einstellungen automatisch zu
Joystick-Datei kein anders lautender Befehl
Eine dieser Optionen ist „Weise die Maus dem Microstick zu". Wenn diese
ausgewählt ist, weist der Kompilierer beim Laden einer Datei in die Controller die
Maus dem Microstick zu und legt die linke Maus-Taste auf dessen Taste T1. Dies
wurde so umgesetzt, da die meisten Anwender den Microstick sicherlich zur MausSteuerung benutzen werden, und zwar als Voreinstellung, auch ohne dass sie
vielleicht schon bis hierher alles gelesen und verstanden haben, welche Befehle dazu
nötig wären!
Falls Ihr es vorziehen solltet, die Microstick-Achsen für die Zuweisung im Spiel
zur Verfügung zu haben, ohne dass die Maus standardmäßig zugewiesen wird
und ohne dass Ihr die Voreinstellungen in Foxy ändern müsst, dann solltet Ihr
den Konfigurations-Befehl:
Konfigurations-Befehl
DISABLE MOUSE
in Eurer Joystick-Datei verwenden. Dies wird den Kompilierer daran hindern, die
erwähnten Digitalen Befehle für den Microstick zu erstellen wenn Ihr ihn in Foxy's
Voreinstellungen angewiesen habt, dies standardmäßig zu tun.
Ihr könnt immer noch die Maus einem Hütchen, einer Joystick-Taste oder
anderen Achsen zuweisen. Denkt daran, dass die Maus-Steuerung immer
vorhanden ist – Ihr müsst sie nur irgendwem zuweisen, wenn Ihr sie verwenden
wollt.
HOTAS Cougar Referenz - Buch
179
THRUSTMASTER
7.8
Fortgeschrittene
Fortgeschrittene MausBewegungsMausBewegungs-Befehle
Wir haben bereits gelernt, dass es möglich ist, die Maus mittels ProgrammierBefehlen zu bewegen. Zum Abschluss dieses Themas werden wir uns mit
komplexeren Mausbewegungen befassen.
7.8.1 Angabe der Bildschirm-Aufloesung
Für alle der im Folgenden erklärten Befehle gilt, dass es wesentlich für sie ist,
dass Ihr die von Euch in dem entsprechenden Spiel verwendete BildschirmAuflösung angebt, und zwar mit dem Konfigurations-Befehl:
Konfigurations-Befehl:
USE SCREEN_RESOLUTION (X,Y)
Ein Beispiel:
USE SCREEN_RESOLUTION (800,600)
Die niedrigsten Werte, die Ihr angeben könnt, sind 640, 480 für X bzw. Y.
Technische Anmerkung: Die Werte 800 und 600 beschreiben die BildschirmAuflösung in Pixeln (Bildpunkten). Ein Pixel ist der kleinste Punkt, der auf einem
Bildschirm dargestellt werden kann. In diesem Beispiel beträgt die BildschirmAuflösung also 800 Linien und 600 Spalten von Punkten. Offensichtlich ist eine
Bildschirm-Auflösung von 1600 x 1200 höher, was bedeutet, dass Bilder weniger
abgetreppt, also schärfer erscheinen.
Danach stehen uns die folgenden Befehle für die Maus zur Verfügung:
Befehle:
Bewegung zu einer genauen Position auf dem Bildschirm
MOUSEXY (Ursprung,X,Y)
Bewegung relativ zur derzeitigen Mausposition
MOUSEMOVE (X,Y)
Drehbewegung / mehreckige Bewegung
MOUSEROTATE (Ursprung, Mittelpunkt, Radius, Anfangswinkel,
Makro1, Drehrichtung, Endwinkel, Schrittanzahl, Makro2)
HOTAS Cougar Referenz - Buch
180
THRUSTMASTER
7.8.2 Bewegung zu einer genauen Position auf dem Bildschirm
Befehl:
MOUSEXY (Ursprung,X,Y)
MOUSEXY (Ursprung,X%,Y%)
wobei gilt:
•
•
•
Ursprung ist eine der Eck-Positionen des Bildschirms: UL, DL, UR, DR.
X,Y sind die X- und Y-Koordinaten auf dem Bildschirm, an die sich die Maus bewegen
soll.
X%, Y% ist eine prozentuale Bewegung von 0 bis 100% (3 Nachkommastellen
Genauigkeit) der Maus. Die Angabe prozentualer Werte erlaubt es Euch, die
Bildschirmauflösung zu wechseln, ohne diese Werte ändern zu müssen.
Es gibt für ein Spiel keine Möglichkeit, die derzeitige Position der Maus abzufragen
oder ihre Bewegung zu verfolgen. Um also in der Lage sein zu können, sie an eine
bestimmte Stelle zu bewegen, müssen wir die Maus zuerst in eine der BildschirmEcken bewegen, da wir diese Koordinaten durch den SCREEN_RESOLUTION Befehl
ja kennen, und erst dann kann der Kompilierer berechnen, wohin die Maus von dort
bewegt werden soll. Dies geschieht ziemlich schnell, so dass das keine Probleme
verursachen sollte, doch Ihr solltet sicherstellen, dass keine der Maus-Tasten gedrückt
wird, ehe dies geschehen ist.
Also, der folgende Befehl:
BTN H3D MOUSEXY (UL, 400, 300)
wird die Maus zuerst in die linke obere Bildschirmecke bewegen, und dann an den
Punkt 400, 300, d.h.. die Bildschirm-Mitte bei einer Auflösung von 800 x 600.
Angenommen, Ihr müsstet F2 drücken, um die Cockpit-Ansicht zu erhalten, dann
müsstet Ihr die Maus zu einem Knopf in Eurem Cockpit bewegen, die Maus-Taste
drücken, und wolltet dann durch Druck auf F1 wieder geradeaus sehen. Dieser Befehl
macht alles das:
BTN H3D F2 MOUSEXY (UL, 400, 300) MOUSE_LB F1
Wenn wir nun diesen Befehl folgendermaßen änderten:
BTN H3D F2 MOUSEXY (UL, 50%, 50%) MOUSE_LB F1
dann könnte jemand, der dieses Spiel mit einer Bildschirm-Auflösung von 1600 x 1200
spielt, die Werte des USE SCREEN_RESOLUTION Befehls dementsprechend
abändern, und der obige Befehl würde genauso gut funktionieren, wie er das bei 800 x
600 tat.
HOTAS Cougar Referenz - Buch
181
THRUSTMASTER
ANMERKUNGEN
1. Ihr müsst einen USE SCREEN_RESOLUTION ( ) Konfigurations-Befehl
angegeben haben, um diesen Befehl verwenden zu können.
2. Alle Maus-Befehle unterliegen Geschwindigkeits-Beschränkungen aufgrund
des RATE Wertes. Wenn die Maus-Bewegung Euch zu langsam ist, verringert
den Wert des RATE Konfigurations-Befehls. Beachtet, dass, wenn Ihr den USE
RATE (nnnn) Befehl nicht in Eurer Joystick-Datei verwendet, dieser Wert auf
Null gesetzt wird – ohnehin die schnellste Geschwindigkeit.
7.8.3 Bewegung der Maus relativ zu ihrer derzeitigen Position
Befehl:
MOUSEMOVE (X,Y)
MOUSEMOVE (X%,Y%)
wobei gilt:
• X,Y ist die Anzahl der Pixel, um die sich die Maus, ausgehend von ihrer
derzeitigen Position, bewegen soll.
• X%, Y% ist eine prozentuale Bewegung zwischen 0 und 100% (3 NachkommaStellen Genauigkeit*) der Maus. Die Angabe prozentualer Werte erlaubt es
Euch, die Bildschirmauflösung zu wechseln, ohne diese Werte ändern zu
müssen.
Im Allgemeinen wisst Ihr, wo sich die Maus gerade befindet, da Ihr zuerst einen
MOUSEXY Befehl zur genauen Positionierung verwendet.
Lasst uns einige Beispiele zur Verwendung des MOUSEMOVE Befehls ansehen:
BTN TG1 MOUSEMOVE (20, 50)
Der Abzug wird die Maus 20 Pixel nach rechts auf der horizontalen X-Achse des
Bildschirms und 50 Pixel nach unten bewegen.
BTN S1 MOUSEMOVE (20%, 50%)
Die Joystick-Taste S1 wird die Maus um 20% der Bildschirmauflösung horizontal
nach rechts und 50% senkrecht nach unten bewegen. Bei einer Auflösung von 800
x 600 bewegt sich die Maus also um 160 Pixel nach rechts (20% von 800) und 300
Pixel nach unten (50% von 600).
HOTAS Cougar Referenz - Buch
182
THRUSTMASTER
BTN H2R MOUSEMOVE (30, 0)
Wird Hütchen 2 nach rechts gedrückt, dann bewegt sich die Maus nur 30 Pixel nach
rechts, d.h. entlang einer waagerechten Linie. Wenn Ihr wollt, dass sich die Maus nach
links bewegt, dann könnt Ihr ein „-“ Zeichen vor der 30 angeben.
BTN H2U MOUSEMOVE (0%, -50%)
Wird Hütchen 2 nach oben gedrückt, dann bewegt sich die Maus um 50% der
Bildschirmauflösung senkrecht nach oben – entsprechend 300 Pixel bei einer Auflösung
von 800 x 600.
ANMERKUNGEN
1. Ihr müsst einen USE SCREEN_RESOLUTION ( ) Konfigurations-Befehl angegeben
haben, um diesen Befehl verwenden zu können.
2. Alle Maus-Befehle unterliegen Geschwindigkeits-Beschränkungen aufgrund des
RATE Wertes. Wenn die Maus-Bewegung Euch zu langsam ist, verringert den Wert
des RATE Konfigurations-Befehls. Beachtet, dass, wenn Ihr den USE RATE (nnnn)
Befehl nicht in Eurer Joystick-Datei verwendet, dieser Wert auf Null gesetzt wird –
ohnehin die schnellste Geschwindigkeit.
3. Ihr könnt keine absoluten und prozentualen Angaben in einem Befehl zusammen
verwenden. D.h.:
BTN H2U MOUSEMOVE (0%, -50%)
ist in Ordnung, doch:
BTN H2U MOUSEMOVE (0, -50%)
wird einen Kompilier-Fehler verursachen.
4. Durch einen MOUSEMOVE Befehl bewegt sich die Maus gleichzeitig entlang beider
Achsen. Ein Befehl wie dieser:
BTN S1 MOUSEMOVE (100, 100)
wird die Maus also diagonal nach unten rechts bewegen, nicht aber erst 100 Pixel
nach rechts auf der X-Achse und dann erst 100 Pixel nach unten auf der Y-Achse.
* Anmerkung des Übersetzers:
Das Komma ist gemäß des US-amerikanischen Standards ein Punkt, kein Komma !:
31.2%
31,2%
wäre korrekt,
wäre falsch!
HOTAS Cougar Referenz - Buch
183
THRUSTMASTER
7.8.4 Drehung/polygonale Bewegung
Befehl:
MOUSEROTATE (Ursprung, Mittelpunkt, Radius, Anfangswinkel,
Makro1, Drehrichtung, Endwinkel, Schrittanzahl, Makro2)
Wobei gilt:
•
Ursprung ist eine der Bildschirm-Ecken: UL, DL, UR, DR.
•
Mittelpunkt ist der Mittelpunkt der Drehung als X,Y Koordinaten oder als
Prozent-Wert %.
•
Radius ist der Radius des Kreises, der den Drehungs-Bogen definiert, in
Pixel oder Prozent (aber siehe den Abschnitt Anmerkungen)
•
Anfangswinkel ist zwischen 0 und 360°
•
Makro ist ein einfaches Makro… typischerweise ein Maustasten-Druck (aber
siehe die Einschränkungen im Abschnitt Anmerkungen). Verwendet ein
„Null”-Zeichen, wenn Ihr kein Makro angeben wollt. Das Makro muss von
eckigen Klammern [ ] eingeschlossen sein.
•
Drehrichtung ist CW für den Uhrzeigersinn (ClockWise) oder CCW für
gegen den Uhrzeigersinn (CounterClockwise)
•
Endwinkel ist die Länge der Drehung als Winkel zwischen 0 und 1800° (5
komplette Umdrehungen)
•
Schrittanzahl gibt an, wie sauber die Drehung erscheint. Erlaubte Werte
sind 1 oder 2. Diese bewirken eine Bewegung mit folgender Form:
Schrittanzahl = 1: ein Quadrat (ähem... 4-Eck!),
Schrittanzahl = 2: ein Oktagon (8-Eck)
Je größer die Anzahl der Schritte wird, desto langsamer wird die Maus-Bewegung,
auch wenn’s nicht gar so dramatisch ist. Alle Zahlenwerte sind genau bis zu einer
Nachkommastelle (z.B. 244.3, 301.8)
Diese Funktionalität wurde eingeführt, um dem Anwender zu erlauben, mit einem
einfachen Druck auf eine Joystick-Taste seiner Controller einen Regler im
Cockpit seiner Flug-Simulation zu drehen.
HOTAS Cougar Referenz - Buch
184
THRUSTMASTER
Lasst uns ein Beispiel ansehen, bei welchem ich einen Radio-Regler, dessen
Mittelpunkt auf meinem Bildschirm bei 300, 400 liegt, in meinem Cockpit drehen
möchte, und zwar mittels meiner Maus und ihrer linken Taste.
# Mouse_LB
Mittelpunkt
z.B.. 300, 400
Drehung im
Uhrzeigersinn (CW)
Anfangswinkel
z.B.. 30°
Radius
z.B. 40 Pixel
Endwinkel
z.B. 90°
0°
Die Befehle, die ich dafür brauche, sind:
USE SCREEN_RESOLUTION (1024,768 )
BTN S2 MOUSEROTATE (DL, 300, 400, 40, 30, [MOUSE_LB], CW, 90, 2)
Lasst uns das Schritt für Schritt durchgehen. Die Joystick-Taste S2 wird gedrückt:
1.
2.
3.
4.
5.
6.
7.
8.
9.
DL - die Maus bewegt sich sehr schnell in die untere linke Ecke des Bildschirms,
den sie dann als Bezugspunkt nimmt. Erinnert Euch, dass die Maus gerade
überall und nirgends auf dem Bildschirm sein kann, weshalb wir sie erst einmal in
eine Ecke oder die Mitte des Bildschirms bewegen müssen, um ihre weitere
Bewegung von dort ausgehend angeben zu können.
300, 400 - die Maus benutzt den Mittelpunkt des auf dem Bildschirm sichtbaren
Radio-Reglers, um zu berechnen, um welchen Punkt sie gedreht werden soll.
40 – der Radius des Drehungs-Bogens.
30 – der Anfangswinkel relativ zur Senkrechten (0°) bestimmt in Kombination mit
den bisherigen Informationen, wo Makro1 aktiviert wird.
[MOUSE_LB] – die linke Maus-Taste wird gedrückt (und gehalten)
CW – die Maus wird im Uhrzeigersinn um den Regler gedreht
90 – bis sie 90° zur Vertikalen (0°) erreicht
2 – die Bewegung folgt der Form eines Oktagons (8-Ecks). Benutzt den kleinsten
Wert, um den Radio-Regler so zu drehen, wie Ihr das wollt.
Der Befehl ist abgearbeitet, also wird das Makro beendet – d.h. die linke MausTaste wird losgelassen.
Es ist komplex, ich weiß, aber die Beschreibung des Weges bei einer Kreisbewegung
der Maus ist halt komplex! :-)
HOTAS Cougar Referenz - Buch
185
THRUSTMASTER
ANMERKUNGEN BEZÜGLICH DES MAKROS
1. Das Makro wird immer gehalten – als ob ein unsichtbarer /H (halten)
Schrägstrich-Modifizierer am Anfang stünde. Das Makro wird automatisch
unterbrochen, sobald die Mausbewegung vorbei ist.
2. Hier ist die Liste der erlaubten Tasten:
•
•
•
•
•
•
Einfache Zeichen (a, b, 1, 2, `, usw.)
SHF, ALT, CTL Zeichen (A, ALT b, usw.)
DirectX und POV Tasten (DX1, POVL, usw.)
MOUSE_LB / RB / MB Tasten
XFlag Aktivierungen ( X1, X2, usw.)
USB Tasten
3. Ihr könnt keine Schrägstrich-Modifizierer, DLY( ) oder RPT( ) im Makro
verwenden.
ANMERKUNGEN
1. Ihr könnt MOUSEROTATE Befehle nicht mit anderen Tasten-Drücken
gruppieren, d.h. dies:
BTN S2 a b DLY(30) MOUSEROTATE (blah blah) PRNTSCRN
ist in Ordnung, aber:
BTN S2 a b DLY(30) {MOUSEROTATE (blah blah) PRNTSCRN}
führt zu einem Kompilier-Fehler.
2. Ihr müsst einen USE SCREEN_RESOLUTION ( ) Konfigurations-Befehl
angegeben haben, um diesen Befehl verwenden zu können.
3. Alle Maus-Befehle unterliegen Geschwindigkeits-Beschränkungen aufgrund
des RATE Wertes. Wenn die Maus-Bewegung Euch zu langsam ist, verringert
den Wert des RATE Konfigurations-Befehls. Beachtet, dass, wenn Ihr den USE
RATE (nnnn) Befehl nicht in Eurer Joystick-Datei verwendet, dieser Wert auf
Null gesetzt wird – ohnehin die schnellste Geschwindigkeit.
4. Als Makro könnt Ihr Makro-Definitionen angeben, anstatt die Zeichen direkt in
den Befehl einzusetzen. Die gebräuchlichsten Makros werden ohnehin
MOUSE_LB oder MOUSE_RB (die linke und rechte Maus-Taste) sein.
HOTAS Cougar Referenz - Buch
186
THRUSTMASTER
5. Tasten-Kombinationen mit SHF, CTL oder ALT (chorded keys) funktionieren
nicht in einem MOUSEROTATE Befehl. Da ohnehin alles im Makro für die
Maus-Drehung gruppiert ist, solltet Ihr LSHF und nicht SHF verwenden.
6. Der Radius kann entweder in Pixeln oder als % der X-Achse der BildschirmAuflösung angegeben werden. Das erscheint zunächst ein wenig seltsam, also
lasst mich das erklären. Der Radius ist eine feste Länge, normalerweise in
Pixeln. Angenommen, wir haben eine Bildschirmauflösung von 800 x 600, und
einen Radius von 600 Pixeln (mit dem Mittelpunkt der Drehung unten auf der
X-Achse). Unwahrscheinlich, aber nicht unmöglich. Also beträgt der Radius in
Prozenten (600/800*100) = 75%. Wenn Ihr nun eine andere Auflösung
benutzen wollt, z.B. 1024 x 768, dann wäre der Radius 75% von 1024, d.h..
768 Pixel lang. Wenn es also möglich ist, einen Radius zu haben, der größer
sein kann als die Y-Auflösung des Bildschirms, dann macht es Sinn, seine
Größe, wenn man sie schon prozentual angibt, auf die X-Achse zu beziehen.
Hierbei gilt es allerdings, einen wichtigen Punkt zu beachten. Das Verhältnis
der X- zur Y-Achse ist hierbei kritisch. Für Auflösungen von 800 x 600, 1024 x
768, 1152 x 864, 1600 x 1200 usw. ist dieses Verhältnis konstant und liegt bei
1.333. Wenn Ihr allerdings eine Auflösung von z.B. 1280 x 1024 (Verhältnis =
1.25) verwendet, dann wird sich der Radius nicht exakt anpassen, da eben das
Verhältnis verschieden ist. Das nur, damit Ihr Euch dessen bewusst seid, wenn
Ihr für Eure MOUSEROTATE Befehle % Werte anstelle von Pixel-Werten
angebt.
7. Dies ist ein komplexer Befehl, und daher ist die Wahrscheinlichkeit, dass Ihr
einen Kompilier-Fehler verursacht, wenn Ihr einen der Teile vergesst oder ein
Komma falsch setzt, ziemlich hoch! Ich empfehle Euch daher, den
„Fortgeschrittene Maus-Programmierung“s-Wizard in Foxy zur Erstellung
dieser Befehle zu verwenden. Zum einen war der eine ziemlich harte Nuss zu
programmieren, und ich würde es wirklich begrüßen zu wissen, dass das nicht
umsonst war!
HOTAS Cougar Referenz - Buch
187
THRUSTMASTER
8. Logische
Programmierung
8.1
Logische Programmierung - Grundlagen
8.1.1 Logische Schalter (Flags) verstehen
Logische Programmierung basiert auf dem Konzept der logischen Schalter
(flags). Was ist also ein logischer Schalter? Lasst uns mit einigen Fakten
beginnen, die Euch total verwirren werden, um es dann plötzlich an einem
einfachen Beispiel klar werden zu lassen. Hier sind also die Fakten:
•
•
•
Ein logischer Schalter kann an oder aus sein.
Es gibt 32 logische Schalter, und sie heißen X1 bis X32.
Ein logischer Schalter macht gar nichts. Er ist einfach nur an oder aus.
Durcheinander? (Ich war’s ganz sicher, als ich anfing, darüber zu lesen!) Dann
lasst uns die Caps Lock -Taste unserer Tastatur nehmen, um das Konzept der
logischen Schalter zu verstehen.
Lasst uns annehmen, die Caps Lock-Taste hieße X1. Wenn Ihr die Caps LockTaste drückt, geht das Caps Lock-Licht auf Eurer Tastatur an, also ist X1 an. Die
Tastatur, wissend, dass X1 an ist, sendet nun ein großes „W" anstelle des
normalen kleinen „w"s, wenn Ihr die Taste „w“ drückt. Wenn wir die Caps LockTaste durch nochmaliges Drücken ausschalten, dann geht das Caps Lock-Licht
wieder aus, also ist X1 jetzt aus, und nun wird wieder ein „w" an den Computer
gesendet. Wir könnten also sagen, dass die Caps Lock-Taste eigentlich gar
nichts macht – sie schaltet lediglich X1 an oder aus, doch es ist eben dieser
Umstand, dass X1 an oder aus ist, der beeinflusst, welches Zeichen von der
Tastatur an den Computer gesendet wird.
Und dies ist das wichtige Konzept, welches Ihr verstehen müsst. Ein logischer
Schalter tut überhaupt gar nichts. Er wird halt nur an- oder ausgeschaltet. Ihr
könnt nicht einmal sehen, ob er an oder aus ist. Aber Ihr könnt die Tatsache,
dass er an oder aus ist, benutzen, um das Verhalten Eures Joysticks zu
verändern. Was wir also mit logischer Programmierung machen, ist, dass wir
programmieren, was abhängig davon, ob ein logischer Schalter an oder aus ist,
passieren soll.
HOTAS Cougar Referenz - Buch
188
THRUSTMASTER
8.2
Definition von logischen Schaltern und
ihre Adressierung
Lasst uns also damit anfangen, wie man einen logischen Schalter an oder aus schaltet.
Hier ist die Syntax:
Konfigurations-Befehl:
DEF X1 S2
Tasten-Befehl:
BTN X1 /H Fire_rockets
Im obigen Beispiel haben wir einen logischen Schalter namens X1 DEFiniert, indem wir
den DEF Befehl benutzt haben, und haben angegeben, dass er von der Joystick-Taste S2
gesteuert werden soll. Wenn die Joystick-Taste S2 gedrückt wird, dann ist der logische
Schalter X1 an, und wenn die Joystick-Taste S2 losgelassen wird, dann ist X1 aus.
Wenn ein logischer Schalter erst einmal definiert wurde, kann er mittels des normalen
BTN Befehls programmiert werden. Und nach dem obigen Beispiel feuert die JoystickTaste S2 fortgesetzt Raketen ab. Das geschieht, weil Ihr gesagt habt, dass sie
abgefeuert werden sollen, wenn der logische Schalter X1 an ist, und X1 bleibt solange
an, wie die Joystick-Taste S2 gedrückt wird. Es ist wichtig zu beachten, dass logische
Schalter-Befehle den gleichen Regeln unterliegen wie normale Joystick-Tasten
Befehle, mit der Ausnahme, dass man bei ihnen keine /T Wechsel-Schalter
Schrägstrich-Modifizierer verwenden kann. Sie verhalten sich also als „nichtwiederholend“, selbst wenn der logische Schalter weiterhin an bleibt, wenn Ihr nicht so
etwas wie einen /H „Halten“-Modifizierer angebt, um diesen logischen Schalter an zu
lassen.
OK, Ihr kratzt Euch wahrscheinlich im Moment am Kopf und fragt Euch: „Und warum
schreiben wir nicht einfach:
BTN S2 /H Fire_rockets
in unsere Joystick-Datei? Wofür brauchen wir hier logische Schalter?"
diesem Beispiel habt Ihr ganz offensichtlich recht, wir brauchen keine
Schalter, und beide Befehle machen das gleiche. Aber wir werden bald
Beispiel kommen, welches man nicht mit der normalen Programmierung
kann – ich möchte Euch im Moment nur in die Syntax einführen.
Nun, bei
logischen
zu einem
erreichen
Es ist außerdem möglich, logische Schalter direkt in Digitalen Typen oder direkt in
Tasten-Befehlen zu definieren::
RNG 2 5 X1 X2 X3 X4 X5
BTN H1L X8
sind gültige Befehle.
HOTAS Cougar Referenz - Buch
189
THRUSTMASTER
Nun gibt es einen kleinen Unterschied zwischen der Definition eines logischen
Schalters durch einen Konfigurations-Befehl und seiner Aktivierung direkt auf einer
Joystick-Taste. Wenn Ihr so etwas habt:
DEF X20 S1
dann geht der logische Schalter X20 an und bleibt an, solange Ihr die Joystick-Taste
S1 gedrückt haltet. Wenn Ihr aber so etwas habt:
BTN S1 X20
(ohne einen DEF Befehl) dann verhält er sich wie eine normale Joystick-Taste, d.h.
X20 wird an gehen und direkt wieder aus, selbst wenn Ihr S1 weiter gedrückt haltet.
BTN S1 /H X20
wird sich genau so verhalten wie ein DEF X20 S1 Befehl. Beachtet, dass Ihr nicht erst
einen logischen Schalter mittels eines DEF Befehls definieren und ihn dann noch auf
einer Joystick-Taste oder in einem Achsen-Befehl haben könnt.
Wie bereits erwähnt, folgt die Platzierung eines logischen Schalters und damit seine
Definition den gleichen Programmier-Regeln wie der normale BTN-Befehl. Daher
könnt Ihr logische Schalter auch mittels eines solchen Befehls erzeugen:
BTN S1 KD(X8) DLY(2000) KD(X6) KU(X6 X8)
Der Vorteil mag nicht unbedingt offensichtlich sein, doch wenn Ihr z.B. einen
Vorbereitungs-Schritt, gefolgt von einem „auto-repeating“-Schritt bräuchtet, könntet Ihr
das folgendermaßen erreichen:
BTN X1 /A Fire_Main_Guns
BTN S1 /H Switch_to_Main_Guns X1
Also, der /H Modifizierer gilt für den X1 Teil des Befehls. Der Effekt ist, dass das Makro
Switch_to_Main_Guns nur einmal ausgeführt wird, doch das Fire_Main_Guns durch
den logischen Schalter auto-wiederholt wird. Cool, oder?
ANMERKUNGEN
Seid vorsichtig, wenn Ihr den gleichen logischen Schalter sowohl durch einen DEF
Befehl als auch direkt durch eine Joystick-Taste definiert. Ein Beispiel:
DEF X1 S4
BTN S2 /H X1
ist effektiv das gleiche als würden wir sagen:
DEF X1 S4 OR S2
so dass X1 an geht, wenn entweder S4 oder S2 gedrückt werden.
HOTAS Cougar Referenz - Buch
190
THRUSTMASTER
8.3
Logische Vergleiche
Vergleiche
Die logischen Vergleiche bestehen aus den folgenden: AND, NOT und OR,
welche auch in Verbindung mit Klammern verwendet werden können.
Konfigurations-Befehle:
DEF X1 S2 OR T6
DEF X2 S4 AND S3 AND H1U
DEF X3 S1 AND NOT X1
Tasten-Befehl:
BTN X1 Fire_missile
BTN X2 Engines_off Gather_belongings Eject
BTN X3 AutoPilot
Lasst uns das erste Paar ansehen:
DEF X1 S2 OR T6
BTN X1 Fire_missile
Der logische Schalter X1 kann entweder von der Joystick-Taste S2 oder T6 an
geschaltet werden. Und daher führt das Drücken der Joystick-Taste S2 oder T6
zum Abschuss einer einzelnen Rakete. Na gut, das gleiche hätten wir auch so
haben können:
BTN S2 Fire_missile
BTN T6 Fire_missile
Also betrachten wir mal eine Situation, die so nicht direkt auf eine Joystick-Taste
programmiert werden kann:
DEF X2 S4 AND S3 AND H1U
BTN X2 Engines_off Gather_belongings Eject
Nach diesem Beispiel geht X2 nur an, wenn die Joystick-Tasten S4 und S3
gedrückt werden während das Hütchen 1 nach oben gedrückt wird. Nichts, was
man unbeabsichtigt tun könnte! Aber wenn Ihr das tut, dann landet Ihr buchstäblich
auf dem Hintern.
HOTAS Cougar Referenz - Buch
191
THRUSTMASTER
Und das letzte Beispiel:
DEF X1 S2 OR T6
DEF X3 S1 AND NOT X1
BTN X3 AutoPilot
wir haben X3 als an definiert, wenn S2 gedrückt wird, aber nicht, wenn die
Joystick-Tasten S2 oder T6 auch gedrückt werden. Also schaltet die JoystickTaste S1 den Autopiloten an, es sei denn, S2 oder T6 werden gedrückt.
Beachtet, dass logische Schalter das gleiche standardmäßige nichtwiederholende Verhalten wie alle anderen Tasten auch zeigen, wenn sie direkt
auf eine Joystick-Taste programmiert werden.
Als abschließende Bemerkung bevor wir die logischen Vergleiche verlassen sei
noch erwähnt, dass Klammern zur Zusammenfassung von logischen Befehlen
verwendet werden können. DEF Befehle können aus jeder Kombination von
AND, OR, und NOT Vergleichen, linken und rechten Klammern, und Bezügen auf
andere Joystick-Taste oder logische Schalter bestehen, solange sie eine gültige
logische Gleichung ergeben; dies z.B.:
DEF X1 (S1 AND NOT S2) OR (X5 AND (H1U OR H2U))
ist durchaus gültig.
HOTAS Cougar Referenz - Buch
192
THRUSTMASTER
8.4
Der Logische SchalterSchalter-Status
In den bisher gezeigten Beispielen haben wir logische Schalter so definiert, dass sie
an waren, wenn eine Joystick-Taste oder Kombination von Joystick-Tasten gedrückt
wurde, und dass sie wieder aus gingen, wenn diese Tasten losgelassen wurden. Es
ist aber auch möglich, einen logischen Schalter zu zwingen, sich ein bisschen mehr
wie ein Lichtschalter zu verhalten – d.h. nach dem an Schalten an zu bleiben, auch
wenn die Taste wieder losgelassen wird, und erst wieder aus geschaltet zu werden,
wenn die Taste wieder gedrückt wird. Mit anderen Worten, wir schalten zwischen
einem „an”- und einem „aus”-Status eines logischen Schalters um. Wir erreichen dies,
indem wir ein „*" hinter einem logischen Schalter oder einer Joystick-Taste angeben.
Konfigurations-Befehl:
DEF X1 S4*
Tasten-Befehl:
BTN X1 /A Chaff DLY(30) Flare DLY(30)
Wenn S4 gedrückt wird geht der logische Schalter X1 an. Er bleibt an, selbst wenn S4
wieder losgelassen wird, und zwar wegen des Schalter-Status’ * nach S4. Erst wenn
die Joystick-Taste S4 wieder gedrückt wird, wird der logische Schalter wieder
ausgeschaltet. Der Effekt ist dabei bei obigem Beispiel der, dass Ihr nach einem
einfachen Druck auf S4 anfangt, Täuschkörper auszustoßen, während Ihr versucht,
diesen SAMs und Sidewinders auszuweichen (unglücklicher Tag, schätze ich!), und
erst ein erneuter Druck auf S4 beendet dieses wiederholte Ausstoßen von Chaff und
Flares (falls die Euch bis dahin nicht schon längst ausgegangen sind!)
ANMERKUNGEN
1. Ihr könnt Euch nicht direkt auf einer Joystick-Taste auf einen logischen SchalterStatus beziehen. Ein Beispiel:
BTN T6 X1*
Dies führt zu einer Fehler-Meldung. (Dieses Verhalten ist anders als bei der
originalen TM F-22 PRO logischen Syntax). Logische Wechsel-Schalter sind nur in
DEF Befehlen zulässig. Dies hier ginge also:
DEF X1 T6*
2. Beachtet, dass anders als bei normalen Joystick-Tasten der /T SchrägstrichModifizierer bei logischen Schaltern nicht zulässig ist. Also:
BTN X7 /T a /T b
führt zu einem Kompilier-Fehler. Doch das hier ist zulässig::
BTN S4 /T X1 /T X2 /T X3
HOTAS Cougar Referenz - Buch
193
THRUSTMASTER
8.5
logische Verzoegerung und PULS Funktionen
8.5.1 Die DELAY (Verzoegerung) Funktion
Die DELAY Funktion fügt eine bestimmte Zeit zwischen dem Zeitpunkt, an dem
die logische Gleichung wahr wird, und dem Zeitpunkt, an dem der logische
Schalter AN geht, ein. Die Syntax ist:
Konfigurations-Befehl:
DEF Xlog.Schalter
Gleichung
DELAY(Verzögerung_log.Schalter_AN) Logische
Seht Euch einmal dieses Beispiel an:
DEF X1 DELAY(1000) S1 AND S4
BTN X1 Eject
Dieser Befehl sagt aus, dass X1 nach 1 Sekunde (1000 Millisekunden), die S1
und S4 gleichzeitig gedrückt wurden, an geht. Wenn eine der beiden Tasten S1
oder S4 losgelassen wird, dann wird der Verzögerungs-Zähler gestoppt. Wenn
X1 noch nicht AN gegangen ist, dann bleibt er AUS, wenn er schon AN ist, dann
geht er direkt wieder AUS. Die Verzögerung wird dabei zurück gesetzt, so dass
beim erneuten gleichzeitigen Drücken von S1 und S4 die gesamte Verzögerung
von 1 Sekunde wieder beginnt.
Und in diesem Beispiel macht es sicher Sinn, sich das für den Schleudersitz zu
Nutze zu machen.
ANMERKUNGEN
1. Die logische DELAY-Funktion ist etwas ganz anderes als die DLY( ) Funktion.
Die zulässigen Werte für die logische DELAY Funktion liegen zwischen 0 und
327670 (d.h.. 5 Stunden 46 Minuten – fragt nicht, warum!).
2. DELAY Funktionen müssen in einem logischen Ausdruck immer am Anfang
stehen. D.h.:
DEF X1 DELAY(1000) S1 AND S4
ist OK, aber:
DEF X1 X2 AND DELAY(1000) S1 AND S4
ergibt einen Fehler.
HOTAS Cougar Referenz - Buch
194
THRUSTMASTER
8.5.2 Die PULSE Funktion
Die PULSE Funktion sendet eine wiederholte AN-AUS Sequenz während die
logische Gleichung wahr ist. Die beiden Zahlen der Funktion geben die Zeitdauer
der AN- und AUS-Periode in Millisekunden an. Hier ist die Syntax:
Konfigurations-Befehl:
DEF Xlog.Schalter PULSE(Zeit_AN Zeit_AUS) Logische Gleichung
Ein Beispiel:
DEF X1 PULSE(100 1000) H1U
BTN X1 Trim_up_increase
Wird das Hütchen 1 nach oben gedrückt und dort gehalten, dann geht X1 sofort
AN für 1/10s, dann AUS für 1s, dann wieder AN für 1/10s, usw. Dies geht so
weiter, solange H1U gehalten wird. Und in diesem Beispiel würden wir die
Trimmung jeweils um 1 Schritt alle 1,1s erhöhen. Beachtet, dass es 1,1s sind.
Wenn wir die Trimmung jede Sekunde erhöhen wollten, müssten wir den Befehl
folgendermaßen abändern:
DEF X1 PULSE(100 900) H1U
Beachtet, dass ein LEERZEICHEN die beiden numerischen Werte trennen muss.
Die Verwendung eines Kommas oder eines anderen Trenn-Zeichens würde zu
einer Fehler-Meldung führen.
ANMERKUNGEN
1. PULSE Funktionen müssen immer am Anfang einer logischen Gleichung
stehen. D.h.:
DEF X1 PULSE(100 1000) S1 AND TG1
DEF X1 X2 AND PULSE(100 1000) S1
ist OK, aber
ist nicht zulässig.
2. Die tatsächliche Empfindlichkeit für jedes DELAY, RATE, PULSE liegt bei ca.
30ms, und der kleinste effektive Wert beträgt auch 30ms, so dass jeder Wert
zwischen 1 und 30 tatsächlich als 30ms verarbeitet wird, von 31 bis 60 als
60ms, von 61 bis 90 als 90ms, usw.
3. Die zulässigen Werte für die logische PULSE Funktion liegen zwischen 0 und
82800000 (d.h. 23 Stunden).
HOTAS Cougar Referenz - Buch
195
THRUSTMASTER
8.6
Logische Programmierung - Beispiele
8.6.1 Einen Typ 4 Befehl an und aus schalten
Mit einem Typ 4 Digitalen Befehl können wir wiederholte, oder pulsierende,
Zeichen mit dem Reichweiten-Regler produzieren:
RNG 4 1000 a ^ b
Hierbei ist der einzige Weg, diese Ausgabe abzustellen der, den Regler in seine MittelPosition zu drehen, wo ein „Null”-Zeichen (^), also gar nichts, generiert wird. Aber
angenommen, wir würden lieber in der Lage sein wollen, durch einen Druck auf den
Reichweiten-Regler, also T6, diese Funktion an und aus zu schalten. Mit logischer
Programmierung ist das einfach, und zwar folgendermaßen:
DEF X3 T6*
DEF X4 X1 AND NOT X3
DEF X5 X2 AND NOT X3
RNG 4 1000 X1 ^ X2
BTN X4 a
BTN X5 b
Das ganze funktioniert folgendermaßen. Der Reichweiten-Regler produziert nun
nicht mehr direkt pulsierende Zeichen, sondern stattdessen die logischen
Schalter X1 und X2. Erst die logischen Schalter X4 und X5 generieren dann ein
„a” oder ein „b”, aber nur, wenn der logische Schalter X3 nicht AN ist, und da die
Joystick-Taste T6 den logischen Schalter X3 An und AUS schaltet, haben wir so
eine Möglichkeit, die Ausgabe der vom Reichweiten-Regler produzierten Zeichen
an und aus zu schalten.
HOTAS Cougar Referenz - Buch
196
THRUSTMASTER
8.6.2 Eine langsame Trimm-Funktion
Ehre wem Ehre gebührt: das nächste Beispiel hat Mark geschrieben! Wir gehen
davon aus, dass in einer Flugsimulation die Tasten KP7 und KP1 zur Trimmung
der Höhe nach oben und unten dienen. Wir werden nun für Hütchen 1 eine
langsame Trimm-Funktion programmieren, so dass, wenn wir H1U drücken und
loslassen alle 5s ein KP7 generiert wird, und wenn wir H1U noch einmal
benutzen, dann stoppen wir diese Trimm-Funktion. Und sinngemäß das ganze
auch für H1D mit KP1. Und hier ist wie:
DEF X1 H1U* AND (NOT X2)
DEF X2 H1D* AND (NOT X1)
BTN X1 /A KP7 DLY(5000)
BTN X2 /A KP1 DLY(5000)
Lasst mich erklären, was hier vorgeht. Wenn Hütchen 1 nach oben gedrückt wird,
dann geht X1 an und bleibt auch an, da wir es mit dem Schalter-Status (*)
umgeschaltet haben. Wenn X1 an ist wenn wir seine Gleichung verarbeiten, dann
bekommen wir unser KP7 alle 5s. Wenn Hütchen 1 wieder benutzt wird, dann
schaltet es X1 wieder aus, eben wegen des Bezugs auf den Schalter-Status (*),
und KP7 wird nicht weiter produziert. Für X2 ist es genau das selbe. Die
Erwähnung von (NOT X1) gewährleistet, dass wenn Hütchen 1 nach unten
gedrückt wird und daher KP1 generiert, und Ihr drückt es dann nach oben, nicht
gleichzeitig KP1 und KP7 gesendet werden.
Ihr findet einige von Mark Mooney geschriebene Dateien mit weiteren Beispielen
logischer Programmierung in Eurem Dateien-Ordner.
Anmerkung des Übersetzers:
Bei diesem Thema habe ich bewusst auf Anmerkungen verzichtet (auch wenn’s
schwer fiel ! ), da dies hier nicht der geeignete Rahmen wäre: dies hier ist die
Übersetzung der HOTAS Cougar Handbücher – meinen eigenen Senf zum
Thema logische Programmierung werde ich bei Gelegenheit an geeigneterer
Stelle dazu geben...
HOTAS Cougar Referenz - Buch
197
THRUSTMASTER
9. Fehlerbehebung
9.1
Zuruecksetzen der Kontroller
Es gibt verschiedene, im folgenden beschriebene, Wege, mit ControllerProblemen umzugehen.
9.1.1 In einem Spiel: EMPTY_BUFFERS und STICK_OFF
Es ist (unter großen Schwierigkeiten!) möglich, z.B. zu viele Kommandos
gleichzeitig zu produzieren, sei es durch gleichzeitiges oder zu schnelles Drücken
von zu vielen Joystick-Tasten (eher unwahrscheinlich), oder durch ein unsauber
programmiertes Setup (wohl eher wahrscheinlich), und so fehlerhafte Ergebnisse
zu produzieren. Dies kann dazu führen, dass der Joystick scheinbar „hängt” – die
analogen Achsen funktionieren weiterhin, aber die digitalen Joystick-Tasten
scheinen nicht mehr zu funktionieren. In einer solchen Situation ist es möglich,
den Speicher des Joysticks zu löschen, um das Spiel weiter spielen zu können.
Befehl::
EMPTY_BUFFERS
Beispiel:
BTN S2 EMPTY_BUFFERS
Offensichtlich wird dieser Befehl wohl eher selten gebraucht werden, weshalb es
Sinn machen würde, ihn mit etwas logischer Programmierung zu kombinieren, so
dass eine spezielle Kombination mehrerer Joystick-Tasten nötig ist, bevor dieser
Befehl aktiviert wird, so dass Versehen ausgeschlossen werden können.
DEF X1 DELAY(2000) S1 AND S4
BTN X1 EMPTY_BUFFERS
Nach diesem Beispiel müssten S1 und S4 gleichzeitig für mindestens 2
Sekunden gehalten werden, bevor der logische Schalter X1 an geht, welcher
dann einen einzelnen EMPTY_BUFFERS Befehl an den Joystick senden würde.
In ähnlicher Weise kann man auch den Joystick aus einem Spiel heraus ausschalten
und alle Joystick-Tasten in den Windows-Modus zurücksetzen, indem man den
STICK_OFF Befehl benutzt.
HOTAS Cougar Referenz - Buch
198
THRUSTMASTER
Befehl:
STICK_OFF
Beispiel:
BTN S2 STICK_OFF
Auch dieser Befehl wird wohl eher selten benutzt werden, und auch hier bietet sich
eine „Kindersicherung” mittels logischer Programmierung an:
DEF X1 DELAY(2000) S1 AND S4
BTN X1 STICK_OFF
Nach Benutzung dieses Kommandos gibt es keine direkte Möglichkeit, den Joystick
wieder AN zu schalten, daher sollte es nur im Notfall benutzt werden, wenn die
Controller, aus welchen Gründen auch immer, Tastaturkommandos produzieren, die
sich anders nicht stoppen lassen. In diesem Falle kann nach Benutzung dieses
Befehls das Spiel verlassen werde, um den Grund für dieses Verhalten zu suchen und
zu beheben.
HOTAS Cougar Referenz - Buch
199
THRUSTMASTER
9.1.2 Unter Windows
Wenn Ihr Euch Foxy's Cougar Menü anschaut, seht Ihr dort Menüeinträge, um
verschiedene Aspekte der Controller zurückzusetzen. Hier sind also die Schritte, die
Ihr in der angegebenen Reihenfolge unternehmen solltet, während Ihr versucht, Eure
Fassung zu bewahren!
1. Zwischenpuffer leeren
Auf genau die gleiche Weise wie zuvor könnt Ihr den Zwischenspeicher leeren, was
sowohl das Programm im Speicher belässt, als auch die Controller in ihrem
derzeitigen Modus.
2. Ausschalten des Programmierungs-Modus’
Es ist sehr einfach, die Controller aus Foxy heraus in den reinen Windows-Modus zu
versetzen, so dass sie aufhören, die Tastatur zu emulieren, falls sie aus irgendeinem
Grunde einen unablässigen Strom von Tastatur-Kommandos ausspucken. Wenn Ihr
Pech habt und diese Taste z.B. die F1-Taste sein sollte, werdet Ihr die moralische
Unterstützung durch die unzähligen sich öffnenden „Hilfe“-Fenster sicher zu schätzen
wissen, während Ihr nach dem USB-Stecker taucht, um die Controller auszustöpseln!
3. Speicher löschen
Beim Aktivieren des Windows-Modus’ wird das derzeitig geladene Programm aus dem
Joystick-Speicher entfernt.
4. EPROM flashen
Im Falle eines ernsthaften Problems mit den Controllern, wenn sie z.B. von Windows
zwar erkannt werden, aber weder die Achsen noch die Tasten funktionieren, oder falls
eine neuere Version der Firmware erhältlich ist, könnt Ihr den Firmware-Speicher
jederzeit zurück-flashen oder upgraden.
5. Wendet Euch an die Technische Hilfe!
Falls die Controller überhaupt nicht erkannt werden, sind entweder die WindowsTreiber nicht richtig installiert, oder es handelt sich um ein ernstes Hardware-Problem.
In diesem Falle solltet Ihr Euch an die Technische Hilfe wenden um herauszufinden,
ob die Controller gegebenenfalls eingeschickt und/oder umgetauscht werden müssen.
HOTAS Cougar Referenz - Buch
200
THRUSTMASTER
10. Anhang
Anhang 1. Zusammenfassung von TMTM-Befehlen
Tasten-Befehle und -Modifikationen
Befehl
Entsprechung
BTN
Button (Taste)
REM
Remark (Anmerkung)
RESET_TOGGLES
REVERSE_TOGGLES
Toggle reset
(Wechselschalter
zurücksetzen)
Reverse toggles
(Wechselschalter
umkehren)
DLY
Delay (Verzögerung)
RPT
Repeat (Wiederholung)
()
Klammern
{}
Geschwungene
Klammern
<>
Winkelklammern
DX
DirectX-Taste
KD
KU
KeyDown (TasteRunter)
KeyUp
(TasteHoch)
USB
USB Tastatur-Kürzel
REVERSE_UD
REVERSE_LR
REVERSE_DIR
Reverse UpDwn / LftRgt
(Umkehr der Richtung)
HOTAS Cougar Referenz - Buch
Beschreibung
zu programmierende JoystickTaste: Hütchen H1-4, JoystickTasten S1-4 und T1 -10, Abzug
TG1+2.
Jeglicher Text nach einem REM
wird vom Kompilierer ignoriert;
benutzt für Kommentare, Titel,
usw.
Setzt eine Wechselschalter-Reihe
auf die erste Position zurück.
Kehrt
die
Richtung
einer
Wechselschalter-Reihe um.
Fügt eine Verzögerung zwischen
Tasten oder Makros ein..
Wiederholt eine Taste oder ein
Makro.
Fasst Tasten/Makros zu einer
Gruppe zusammen und führt diese
nacheinander komplett aus.
Zusammenfassung zu einer
Gruppe,
die
gleichzeitig
ausgeführt wird.
Zusammenfassung zu einer
Gruppe, die zuerst komplett
ausgeführt wird, bevor irgend ein
anderes Makro ausgeführt wird.
DirectX-Taste, welcher mittels
jedes
Befehls programmiert
werden kann.
Kürzel für das Drücken oder
Loslassen einer Taste zur
genaueren Kontrolle.
Das
gleiche
als
Länderunabhängige Hardware-Kürzel.
Umkehrung der Richtung einer
Achse oder eines Hütchens.
201
THRUSTMASTER
Befehl
Entsprechung
NOHOLD, KP5
Wirkt sich auf USE HAT
AS Befehle aus
FORCED_CORNERS
Eckpositionen der
Hütchen
S3_LOCK, S3_UNLOCK
Ver-/Entriegelung von S3
SHIFTBTN
Umschalt-Taste
POVn,
(n = D, L,R,UL, DL,UR, DR)
MOUSE_LB, MOUSE_RB,
MOUSE_MB
Positionen des BlickpunktHütchens
Linke, rechte, mittlere
Maustaste
Beschreibung
Verhindert
die
fortdauernde
Ausgabe für die HütchenPositionen. KP5 fügt dieses
Kommando bei Verwendung von
USE HAT AS KEYPAD zur
Mittelposition hinzu.
Erzwingt die Eckpositionen als
Kombination ihrer benachbarten
Hauptrichtungen;
4-wege
Funktion.
Ver-/entriegelt S3
Wählt eine andere Joystick-Taste
als S3 zum Umschalten
Ermöglicht die Programmierung
des „POV“-Hütchens
Erlaubt die Verwendung einer
Joystick-Taste als Maustaste
Schraegstrich(Slash)-Modifizierer
SchrägstrichModifizierer
Entsprechung
/U, /M, /D
Up, Middle, Down
(Oben, Mitte,
Unten)
/I, /O
In, Out
/P, /R
/T
Press, Release
(Drücken,
Loslassen)
Toggle
(Weiter-/Wechselschaltung)
Beschreibung
Verdreifacht die programmierbaren Positionen
aller Joystick-Tasten und Hütchen (außer T7+8)
durch Verwendung des „Luftkampf”-Schalters
und seiner Positionen.
Verdoppelt die programmierbaren Positionen
durch Verwendung von S3 (kann nicht für S3
selbst verwendet werden)
Unterscheidet zwischen dem Drücken und dem
Loslassen einer Joystick-Taste oder Hütchens.
Schaltet mit jedem Drücken der Joystick-Taste
einen Listenpunkt weiter.
/H
Hold
(Halten)
Hält die der Joystick-Taste zugewiesene
Tastatur-Taste/Makro, auch wenn andere
Joystick-Tasten gedrückt werden.
/A
Auto-Repeat
(selbständige
Wiederholung)
Wiederholt die Taste oder das Makro solange
die Joystick-Taste gedrückt bleibt.
HOTAS Cougar Referenz - Buch
202
THRUSTMASTER
Konfigurations-Befehle
Verwendung
USE MDEF
USE Btn AS DXn
USE ALL_DIRECTX_BUTTON
USE HATn FORCED_CORNERS
USE HAT AS MOUSE, POV,
ARROWKEYS, KEYPAD
USE RATE
USE S3_LOCK
USE S3_UNLOCK
USE S3 AS SHIFTBTN
USE HATx_SENSITIVITY
USE T1_SENSITIVITY
USE FOXY
USE NULLCHR
USE TASTATUR
USE PROFILE
USE CURVE
DISABLE AXIS
USE SWAP
USE REVERSE
USE AXES_CONFIG
USE MTYPE
USE MICROSTICK AS MOUSE NO_TASTE
USE Achse AS Maus-Achse
USE ZERO_MOUSE
DISABLE MOUSE
USE SCREEN_RESOLUTION
Beschreibung
Legt
fest,
welche
Makro-Datei
die
Makrodefinitionen für eine Programmdatei enthält.
Weist DirectX-Taste zu; ersetzt PORTB1 IS .
Verwendet Hütchen 1 als POV und alle anderen
Positionen entsprechend DirectX.
Verwendet ein 8-wege Hütchen als 4-wege
Hütchen, so dass die Eck-Positionen die
Funktionen der beiden benachbarten HauptPositionen gleichzeitig produzieren
Verwendet ein Hütchen anders als für die normale
Programmierung durch den BTN Befehl
Voreinstellung der Geschwindigkeit, mit welcher
Zeichen generiert / wiederholt werden
Lässt S3 mehr wie einen Kipp-Schalter
funktionieren
Verwendet eine andere Joystick-Taste als S3 für /I,
/O
Verringert die Empfindlichkeit eines Hütchens zur
leichteren Anwahl der Eck-Positionen
Gibt die Empfindlichkeit von T1 an
Von Foxy für verschieden interne Funktionen
verwendet, z.B.
USE FOXY GRAPHIC
USE FOXY README
Gibt an, welches Zeichen als nicht zu sendendes
„Null“-Zeichen verwendet wird - Standard ist ^
AZERTY - für Azerty Tastaturen und Probleme mit
der Tastatur-Belegung französischer Spiele
Lädt Kalibrierungs-Profil des TM Cougar Control Panel
Verändert den Verlauf der Empfindlichkeits-Kurve
einer Achse
Schaltet eine analoge Achse aus
Vertauscht analoge Achsen miteinander
Kehrt die Richtung einer Achse um
Gibt an, welche Achsen wie verwendet werden sollen,
und ändert ihre Eigenschaften
Weist die Maus-Steuerung dem Microstick zu und
gibt an, welche Joystick-Taste für welche MausTaste verwendet werden soll
Legt die Maus-Steuerung auf den Microstick und
verwendet T1 als linke Maus-Taste (es sei denn NO_BUTTON ist angegeben)
Verwendet eine Achse für eine Maus-Achse
Verhindert eine „klemmende“ Maus bei /I, /O
Verhindert die standardmäßige Zuweisung der
Maus
Wird für komplexere Maus-Bewegungen benötigt
HOTAS Cougar Referenz - Buch
203
THRUSTMASTER
Achsen-Programmierung
Achsen-Befehl
JOYX, JOYY
THR
RDDR
ANT
RNG
MIX, MIY
LBRK and RBRK
MSX, MSY, MSZ
Entsprechung
Joystick X und Y
Throttle
Rudder
Antenna knob
Range knob
Microstick X und Y
Linke und rechte
Einzelpedale
Maus X, Y, Z
Digitaler Typ Befehle
1 bis 6
FORCE_MAKROS
Erzwinge Makros
CURVE
Achsen-Verlaufskurve
TRIM TO_CURRENT
HOLDTRIM
LOCK,
UNLOCK,
LASTVALUE
SWAP
REVERSE
FORWARD
Achsen-Trimmung
Achsen-Verriegelung
Achsen-Tausch
Achsen-Richtung
Beschreibung
Joystick Achsen
Schubkontrolle Achse
Ruder Achse
Antennen-Regler Achse
Reichweiten-Regler Achse
Microstick Achsen
Ruder Toe-Brake Achsen
Maus Achsen - Z ist das Maus-Rad
Produziert Tastatur-Zeichen/Tasten
entlang
einer
Achse.
Auch
verwendet mit Maus-, VerlaufsBefehlen und logischen Schaltern.
Erzwingt,
dass
die
Zeichen/Makros von Typ 1, 2, 5, 6
Befehlen immer komplett generiert
werden
Achsen-Kurve – verändert ihre
Empfindlichkeit und Verhalten
Trimmt eine Achse auf bestimmte
analoge Werte
Hält einen analogen Wert, so dass
die Achse rein digital verwendet
werden kann
vertauscht Achsen miteinander
Kehrt die Richtung einer Achse
um, stellt normale Orientierung
wieder her
fortgeschrittene Maus-Befehle
Maus-Befehl
MOUSEXY
MOUSEMOVE
MOUSEROTATE
Beschreibung
Positioniert den Maus-Zeiger an einer bestimmten BildschirmKoordinate
Bewegt die Maus relativ zu ihrer aktuellen Position
Programmiert die Maus, sich kreisförmig zu bewegen, um
Cockpit-Drehregler steuern zu können
HOTAS Cougar Referenz - Buch
204
THRUSTMASTER
Logische Befehle
Schreibweise
Entsprechung
DEF
Definiere
BTN
Taste
X1 to X32
AND, OR, NOT
logischer Schalter
logischer Vergleich
*
Schalter-Status
DELAY
Verzögerung
PULSE
Puls
Beschreibung
Definiert logische Schalter durch Gleichungen
Zuweisung virtueller Joystick-Tasten für die
logischen Schalter X1 bis X32
Logische Schalter sind entweder AN oder AUS.
Konstruiert logische Gleichungen
Schaltet einen logischen Schalter wechselweise
AN und AUS
Verzögert die Bedingung, unter der eine logische
Gleichung WAHR=AN wird.
Schaltet einen logischen Schalter wiederholt AN /
AUS
Hardware-Befehle
Schreibweise
EMPTY_BUFFERS
STICK_OFF
Beschreibung
Leert den Zwischenspeicher des Controllers
Schaltet den Controller in einem Spiel ab
HOTAS Cougar Referenz - Buch
205
THRUSTMASTER
Anhang 2. Thrustmaster TastaturTastatur-Schema
ESC F1
`
1
F2
F3
F4
2
3
4
5
F5
6
F6
7
F7
8
F8 F9 F10
9
0
=
TAB
q
w
e
r
t
y
u
i
o
p
[
CAPS
LSHF
a
s
d
f
g
h
j
k
l
;
’
LCTL
z
x
c
v
b
LALT
n
m
,
SPC
.
/
RALT
F11 F12
BSP
]
RCTL
PRNTSCRN
SCRLCK
BRK
INS
HOME
PGUP
NUML KP/
KP*
DEL
END
PGDN
KP7
KP8
KP9
KP4
KP5
KP6
KP1
KP2
KP3
UARROW
LARROW
DARROW
RARROW
KP0
KP.
\
ENT
RSHF
KPKP+
KPENT
ANMERKUNGEN
1. Die Syntax für Tasten-Kombinationen, bei denen man die ALT oder CTRLTaste gedrückt hält, ist SHF a, ALT b, CTL c. Es ist nicht LSHF a, LALT b
LCTL c
2. Einige Tasten sind reserviert: ( ) { } < > und müssen durch die entsprechende
Kombination mit „SHF“ (gemäß US-Tastaturschema) programmiert werden:
( = SHF 9
) = SHF 0
{ = SHF [
} = SHF ]
< = SHF ,
> = SHF .
HOTAS Cougar Referenz - Buch
206
THRUSTMASTER
Anhang 3.
USB KeyDown und KeyUp Kuerzel
Beispiel:
BTN S2 /P USB (D04) Rem “a” KeyDown = Taste drücken
/R USB (U04) Rem “a” KeyUp = Taste loslassen
Tastatur-Taste
aA
bB
cC
dD
eE
fF
gG
hH
iI
jJ
kK
lL
mM
nN
oO
pP
qQ
rR
sS
tT
uU
vV
wW
xX
yY
zZ
1!
2@
3#
4$
5%
6^
7&
8*
9(
0)
Eingabe (Return)
Abbruch (Escape)
TM Syntax
a
b
c
d
e
f
g
h
I
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
1
2
3
4
5
6
7
8
9
0
ENT
ESC
HOTAS Cougar Referenz - Buch
USB HID Kürzel
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
207
THRUSTMASTER
Rückschritt (Backspace)
Tabulator
Leertaste (Space)
-_
=+
[{
]}
\|
Europa 1
(siehe Anmerkungen)
;:
'"
`~
,<
.>
/?
Caps Lock
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
Druck (Print Screen )
Rollen (Scroll Lock)
Pause (Break (Ctrl-Pause))
Pause
Einfügen (Insert)
Pos 1 (Home )
Bild auf (Page Up)
Entfernen (Delete)
Ende (End)
Bild ab (Page Down)
Pfeil rechts (Right Arrow)
Pfeil links (Left Arrow)
Pfeil ab (Down Arrow)
Pfeil auf (Up Arrow)
Num Lock
Ziffernblock (Keypad) /
Ziffernblock (Keypad) *
Ziffernblock (Keypad) -
BSP
TAB
SPC
=
[
]
\
2A
2B
2C
2D
2E
2F
30
31
32
;
'
`
,
.
/
CAPS
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
PRNTSCRN
SCRLCK
BRK
BRK
INS
HOME
PGUP
DEL
END
PGDN
RARROW
LARROW
DARROW
UARROW
NUML
KP/
KP*
KP-
HOTAS Cougar Referenz - Buch
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
208
THRUSTMASTER
Ziffernblock (Keypad) +
Ziffernblock Eingabe
Ziffernblock 1 Ende
Ziffernblock 2 Runter
Ziffernblock 3 PageDn
Ziffernblock 4 Links
Ziffernblock 5
Ziffernblock 6 Rechts
Ziffernblock 7 Pos 1
Ziffernblock 8 Hoch
Ziffernblock 9 Bild auf
Ziffernblock 0 Einfügen
Ziffernblock . Entfernen
Europa 2
(Siehe Anmerkungen)
Ziffernblock =
F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
Tastatur Ausführen
Tastatur hilfe
Tastatur Menü
Tastatur Auswahl
Tastatur Stop
Tastatur Wiederholen
Tastatur Rückgängig
Tastatur Ausschneiden
Tastatur Kopieren
Tastatur Einfügen
Tastatur Finde
Tastatur Stummschaltung
Tastatur Lautstärke lauter
Tastatur Lautstärke leiser
Tastatur Caps Lock AN
Tastatur Num Lock AN
Tastatur Scroll Lock AN
Ziffernblock ,
(brasilianischer Ziffernblock .)
TastaturGleich
HOTAS Cougar Referenz - Buch
KP+
KPENT
KP1
KP2
KP3
KP4
KP5
KP6
KP7
KP8
KP9
KP0
KP.
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
80
81
82
83
84
85
86
209
THRUSTMASTER
Tastatur International 1
(Ro)
Tastatur Intl'2
(Katakana/Hiragana)
Tastatur International 2
¥ (Yen)
Tastatur International 4
(Henkan)
Tastatur Int'l 5
(Muhenkan)
Tastatur International 6
(PC9800 Keypad , )
Tastatur International 7
Tastatur International 8
Tastatur International 9
Tastatur Sprache 1
(Hanguel/English)
Tastatur Sprache 2
(Hanja)
Tastatur Sprache 3
(Katakana)
Tastatur Sprache 4
(Hiragana)
Tastatur Sprache 5
(Zenkaku/Hankaku)
Tastatur Sprache 6
Tastatur Sprache 7
Tastatur Sprache 8
Tastatur Sprache 9
Tastatur Alternativ Löschen
Tastatur SysReq/Achtung
Tastatur Stornieren
Tastatur Leeren
Tastatur Vorige
Tastatur Eingabe
Tastatur Trennung
Tastatur Out
Tastatur Oper
Tastatur Clear/Again
Tastatur CrSel/Props
Tastatur ExSel
Links Strg
Links Hochstellen
Links Alt
Links GUI
Rechts Strg
Rechts Hochstellen
Rechts Alt
Rechts GUI
HOTAS Cougar Referenz - Buch
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
LCTL
LSHF
LALT
RCTL
RSHF
RALT
95
96
97
98
99
9A
9B
9C
9D
9E
9F
A0
A1
A2
A3
A4
E0
E1
E2
E3
E4
E5
E6
E7
210
THRUSTMASTER
ANMERUNGEN
Diese Tasten haben abhängig vom Land, für welches Tastaturen hergestellt
wurden, verschiedene Verwendungen. Europa 1 befindet sich üblicherweise auf
der AT-101 Position 42 neben der Eingabe-Taste, Europa 2 auf Position 45,
zwischen der linken Hochstell-Taste und dem Buchstaben Z.
Anhang 4.
Unterschiede zwischen den alten
TMTM- und den neuen CougarCougar-Dateien
Es gibt einige leichte (und andere nicht so leichte) Unterschiede zwischen den
„originalen“ alten TM-Dateien für die digitalen Chips, F22 Pro, F16 FLCS, FCS,
TQS, WCS MkII. Dieser Anhang fasst diese Unterschiede zusammen – siehe
auch die Thrustmaster Dokumentation für genauere Erklärungen.
1. Aenderungen von Tasten-Bezeichnungen
alte Bezeichnung
LSFT
RSFT
AUXUAROW, UAROW
AUXDAROW, DAROW
AUXLAROW, LAROW
AUXRAROW, RAROW
AUXENT
AUX/
AUXINS
AUXHOME
AUXPGUP
AUXPGDN
AUXDEL
AUXEND
HOTAS Cougar Referenz - Buch
neue Bezeichnung
LSHF
RSHF
PRNTSCRN
UARROW
DARROW
LARROW
RARROW
KPENT
KP/
INS
HOME
PGUP
PGDN
DEL
END
211
THRUSTMASTER
2. Aenderungen der Schraegstrich-Modifizierer
SchrägstrichModifizierer
/U
/M
/D
/I
/O
/P
/R
/T
/A
/H
/F
/Q
/N
Kommentar
Wie zuvor
Wie zuvor, allerdings müssen /I Befehle immer vor /O Befehlen
stehen und zwingend in verschiedenen Zeilen stehen
Wie zuvor
Wie zuvor
Bezeichnet jetzt die automatische Wiederholung
Wie zuvor, gilt in komplexen Befehlen nur für das letzte TastaturKommando
Nicht mehr unterstützt
Nicht mehr unterstützt
Nicht mehr unterstützt – alle Befehle ohne /H, /A Modifizierer
verhalten sich standardmäßig als /N
3. nicht laenger unterstuetzte Befehle
Befehl
RAW ( )
BTN MT
BTN T11 – T14
(nicht mehr vorhanden)
USE RCS
USE TQS
USE WCS
USE RCSPRO
USE NOMAUS
USE NOTHR
USE MTYPE (B oder C)
Kommentar
Ersetzt durch USB ( ) (HID Kürzel), und die einfacher zu
benutzenden KD( ) und KU( ) Kürzel
Benutzt den Typ 5 Befehl stattdessen – er kann mehr!
Der Microstick ist sozusagen ein 2-Achsen Joystick – kein 4-wege
Schalter. Daher kann er mittels Typ 1 bis 6 Befehlen digital
programmiert werden
Nicht mehr benötigt
Nicht mehr benötigt
Nicht mehr benötigt
Nicht mehr benötigt
Nicht mehr benötigt
Nicht mehr benötigt
Diese Maus-Typen werden nicht mehr unterstützt, allerdings
können 3-Tasten Maus Befehle erzeugt werden.
4. Datei-Endungen und -Namen
Die Joystick-Datei muss auf „.tmj” und die Makro-Datei auf „.tmm” enden. Außerdem
fallen diese Dateinamen nicht unter die DOS-Beschränkungen, dürfen also
Leerzeichen enthalten und länger als 8 Zeichen sein. Allerdings müssen sich beide
zusammengehörigen Dateien im gleichen Verzeichnis befinden. Als Voreinstellung ist
das Foxy's „Files“-Verzeichnis.
HOTAS Cougar Referenz - Buch
212
THRUSTMASTER
5. Voreinstellungen
Der Kompilierer wird einige Voreinstellungen bezüglich seines Verhaltens
hinsichtlich Eurer Dateien vornehmen, abhängig davon, wie Ihr Eure Vorlieben in
Foxy eingestellt habt. Diese Einstellungen werden ignoriert, wenn sie entweder in
Foxy ausgeschaltet werden, oder wenn in Euren Dateien gegensätzliche Angaben
programmiert wurden.
Diese Voreinstellungen sind:
•
•
•
•
Hütchen 1 oder ein Hütchen Eurer Wahl als Blickwinkel-Hütchen (Point
Of View = POV).
TG1 als DX1, S2 als DX2 – d.h. als DirectX-Taste, so dass diese Taste
ihre Funktion vom Spiel zugewiesen bekommt, wenn das Spiel dies
unterstützt.
Wenn keine USE MDEF Zeile vorhanden ist, und die Joystick-Datei
Makros enthält, dann wird der Kompilierer nach einer gleichnamigen
Datei mit der Endung „.tmm” suchen.
Der Microstick wird die Maus-Bewegung steuern, wobei T1 auf dem
Microstick als linke Maus-Taste dient.
Die Gründe für diese Voreinstellungen liegen darin, es auch Anfängern zu
erleichtern, in die Programmierung herein zu kommen. Wenn also ein Anwender
eine Joystick-Datei hat, die lediglich folgendes enthält:
BTN S1 Autopilot
und eine Makro-Datei mit nichts weiter als:
Autopilot = a
dann kann er diese Joystick-Datei einfach laden und trotzdem wird sein Abzug
funktionieren, seine Maus wird sich steuern lassen, usw.
Die einzige Gefahr besteht dabei, wenn diese Dateien an jemand anderen weiter
gegeben werden, der seine Voreinstellungen in Foxy geändert hat, z.B.
dahingehend, dass eine Fehler-Meldung ausgegeben wird, wenn keine
USE MDEF Zeile gefunden wird – diese Dateien werden dann so nicht bei
diesem Anwender funktionieren.
HOTAS Cougar Referenz - Buch
213
THRUSTMASTER
6. Digitale und analoge Achsen
In den originalen TM Dateien konnte eine Achse entweder digital programmiert
werden, so dass sie Tastatur-Tasten/-Zeichen produzierte, oder im
standardmäßigen analogen Zustand belassen werden, in welchem ihre Funktion
vom Spiel zugewiesen wurde (z.B. Schubkontroll-Achse = Schub in einer FlugSimulation). Mit dem HOTAS Cougar können Achsen gleichzeitig sowohl analog
als auch digital benutzt werden, wenn das gewünscht wird. Um eine Achse als
reine digitale Achse zu verwenden, muss ihre analoge Funktion durch den
DISABLE Befehl ausgeschaltet werden. Beachtet auch, dass Ihr beim Cougar
nichts mehr in den Spiele-Optionen der Systemsteuerung ändern müsst, um eine
Achse nur digital zu verwenden, wie das bei den original TM Controllern
erforderlich war.
7. Typ 1 Digitale Befehle
Die Syntax für diese ist leicht geändert worden – siehe den entsprechenden
Abschnitt im Referenz-Buch.
8. Schubkontrolle nicht angeschlossen
Wenn Ihr eine Datei für Joystick und Schubkontrolle habt, und die Schubkontrolle
ist nicht angeschlossen, dann wird von /U, /M, /D Befehlen nur der /M Befehl
kompiliert – /U, /D werden ignoriert. Achsen-Befehle für die Schubkontrolle
werden ebenfalls ignoriert.
9. Makros – nicht zulaessige Zeichen
Ihr könnt keine der folgenden Zeichen in Makronamen verwenden:
= < > { } ( ) ^ , Leerzeichen
HOTAS Cougar Referenz - Buch
214
THRUSTMASTER
10. RPT
Mit einem solchen Makro:
Makro1 = a b c
und einem Befehl wie diesem:
BTN S2 RPT (3) Makro1
ergibt ein Druck auf S2:
aaabc
Um dies zu verhindern, kann man entweder das Makro oder die TastaturKommandos dieses Makros in Klammern setzen, d.h.:
BTN S2 RPT (3) (Makro1)
oder
BTN S2 RPT (3) Makro1
mit:
Makro1 = (a b c)
11. Das // Kommentar-Zeichen
Mit den digitalen Chips konnte man // alternativ zum REM-Befehl verwenden. Dies wird
in Foxy nicht unterstützt.
HOTAS Cougar Referenz - Buch
215

Documentos relacionados