Programming Software: Scripts
If one desires more programming functionality from their controller(s) than T.A.R.G.E.T. provides, Thrustmaster offers the T.A.R.G.E.T. Script Editor. The Script Editor allows one to program in a C-like language.
The Script Editor language is called FAST (“Foxy Advanced Script”). What is nice about the Script Editor is that there is a seamless transition from the T.A.R.G.E.T. GUI to script editing. This is because T.A.R.G.E.T. is actually generating script the entire time it is being used. As the script editing manual states, “it is perfectly possible to start a file with the graphic interface and complete it ‘by hand’ in the Script Editor.” However, one cannot go the other way.
The Script Editor manual does a nice job of walking the reader through concepts already presented in the T.A.R.G.E.T., except now one is taught to create the same functionality through scripting syntax. For example, where in T.A.R.G.E.T. you would select the TG1 button (first stage of the trigger) and then program an “x” keystroke to it, in the script editor this is accomplished with the following text:
MapKey(&Joystick, TG1, ‘x’);
If you are used to working in Foxy, starting with the scripting language from scratch might turn out to be a better method than poking around in T.A.R.G.E.T.
A T.A.R.G.E.T. script file has .tmc extension. A macro file with a .ttm extension can also be built, allowing for the following workflow:
Macro file (.ttm):
define fire_gun x
Script file (.tmc):
MapKey(&Joystick, TG1, fire_gun);
A number of pre-assembled scripts and macro files are included with the T.A.R.G.E.T Script Editor, including files for DCS: Black Shark, Flaming Cliffs 2 (multiple aircraft), and Falcon 4.0: Allied Force. Strangely enough, these macro files are also usable in T.A.R.G.E.T. itself, where the manual refers to them as “fast configuration files”. It took me four days of using the software to figure out that Script macro files and “fast configuration files” are the same thing. It seems that one has to use the script editor to build these macro files, then save, exit, and run T.A.R.G.E.T. to use the macros. T.A.R.G.E.T. and the Script Editor cannot be run at the same time.
The Script Editor manual goes on to describe certain other useful functions. SEQuences can be programmed so that a button or switch sends out different commands each time it is pressed. TEMPO puts two commands on a single button; the first is activated by a short button press, while the second is activated by holding the button down. CHAIN sends two or more simultaneous commands from the same button. LIST allows for digital axis statements with custom curve shapes. Script language can be EXECuted based on if/then logic. I could go on and on; FAST is a real programming language, with rigid Case Sensitivity and syntax rules. It is more powerful than Foxy, and the great thing about it is that it can be used with new hardware and with the HOTAS Cougar, taking a 10-year-old product and making it even more capable than it previously was.
In FAST, buttons by default are programmed to a “hold” action (which means that they continue to send a key press as long as the joystick button or switch is in place). Thrustmaster carefully considered this sort of potential problem since it is very important for the HOTAS Warthog’s multiple 2- and 3-way toggle switches; most of these stay in position when they are moved there, which will generate (usually undesired) held keys. By default in the script editor, a keyboard key mapped to a toggle switch position will stay ON until the toggle switch is moved. To avoid this action, the “PULSE+” syntax can be used to generate a momentary key press.
One very interesting thing that FAST can do is to rotate the electrical response of the joystick grip. This is especially useful for those who wish to center-mount the stick while maintaining an ergonomic shaft angle.
RotateDXAxis(1st DirectX axis name, 2nd Direct X axis name, twist angle value);
RotateDXAxis(DX_X_AXIS, DX_Y_AXIS, 5); //simulates a 5° twisted side stick like the F-16
RotateDXAxis(DX_X_AXIS, DX_Y_AXIS, -15); //simulates a -15° twisted centered stick like the A-10.
RotateDXAxis(DX_X_AXIS, DX_Y_AXIS, 90); //transform X to Y and Y to X
The Script Editor documentation has stilted English, grammatical errors, and typos like the T.A.R.G.E.T. manual, but overall it seems easier to read. Maybe that’s because the complicated code takes all of my concentration and I don’t notice anything else…
SimHQ was told by Thrustmaster that programming software would eventually be able to control the lights on the throttle base. Presumably the Script Editor would be used to accomplish this, but there is no documentation regarding this feature.
|SimHQ Review / Thrustmaster HOTAS Warthog / Table of Contents
Hardware – The Joystick
Hardware – The Throttle
|Programming Software: T.A.R.G.E.T.
|Programming Software: Scripts
|Comparison: Physical Appearance – Joysticks
|Comparison: Physical Appearance – Throttles
|Comparison: Motion Testing and Accuracy
Reviewer’s System Specs