Programming Software: T.A.R.G.E.T.
The HOTAS Warthog is programmed via one of two means. The first is T.A.R.G.E.T. (Thrustmaster Advanced pRogramming Graphical EdiTor). T.A.R.G.E.T. is a GUI (graphical user interface) featuring drag-and-drop button/switch programming and control of axis response via graphical sliders.
SimHQ was provided with a digital download of the Release Candidate of T.A.R.G.E.T., dated October 15, 2010. There is no software CD included in the HOTAS Warthog packaging; an included leaflet instructs users to visit the Thrustmaster web site for the latest T.A.R.G.E.T. download.
T.A.R.G.E.T. requires that Microsoft .NET Framework 4.0 is installed. The installer for .NET Framework 4.0 was included in SimHQ’s T.A.R.G.E.T. package, and .NET automatically installed first, before T.A.R.G.E.T. The T.A.R.G.E.T. installation creates a Thrustmaster Virtual Keyboard hardware device that prompts the user to go through the normal hardware installation process on Windows XP. Installation was painless and efficient, without problems.
T.A.R.G.E.T. Controller Support
When Thrustmaster released the MFD Cougar pack in late 2009, it was somewhat surprising that there was no associated software with which to program the MFD buttons. Thrustmaster indicated that new software was coming, and with the release of the Warthog we finally get it. T.A.R.G.E.T. is unifying software that supports multiple Thrustmaster controllers, including the HOTAS Warthog, the T.16000M, the Cougar MFDs, and even the 10-year-old Cougar.
One thing T.A.R.G.E.T. does not do is support other manufacturer’s controllers, which is not surprising.
|Thrustmaster hardware that is supported by T.A.R.G.E.T.|
T.A.R.G.E.T. Button / Switch Programming
Using T.A.R.G.E.T. proved to be a relatively simple process despite the powerful programming commands one can create. Since the software is entirely graphical, the mouse is used to do everything, such as assigning physical controller axes to DirectX axes, manipulating axis responses, and selecting buttons and switches for programming. The downside to this is that T.A.R.G.E.T. has not been coded with any keyboard shortcuts at all. For someone who is accustomed to taking advantage of useful keyboard shortcuts, it can get tiring when, for the nth time, I press the “y” key in response to the dialogue box “Do you want to save this profile?” and nothing happens.
At minimum, creating a T.A.R.G.E.T. profile involves selecting the controllers one wishes to use, assigning their physical axes to DirectX axes, and programming buttons and switches. Thrustmaster has implemented a wonderful feature in T.A.R.G.E.T.: the ability to select buttons and switches from interactive 3D models of the controllers. These 3D models can be panned, zoomed, and rotated to give a comprehensive view of the supported controllers from any angle. From there one just clicks and drags the button to be programmed over to the “Assign Parameters” area and goes about programming it. Unfortunately, there is no functionality where a user can press a button or flick a switch on a controller and that button or switch will become active in T.A.R.G.E.T.
|T.A.R.G.E.T. Software – button programming|
Once a button or switch has been selected for programming, one can assign commands to it. These can be keyboard button pushes, DirectX button pushes, or mouse clicks. T.A.R.G.E.T. includes a virtual keyboard, mouse, and joystick buttons to aid in the assignment of commands.
|T.A.R.G.E.T. Software – Virtual keyboard, mouse, and joystick buttons|
When one creates a new profile, T.A.R.G.E.T. offers options of Basic or Advanced. Basic Mode allows for one command to be sent every time a button or switch is pressed. Advanced mode adds the ability to program a command sent on button or switch release. It also adds layer capability. Layers in T.A.R.G.E.T. retain the same nomenclature developed for Foxy Cougar software: “I” and “O” indicate when a shift button is “In” or “Out”, and “U”, “M”, and “D” indicate when the “Up” and “Down” layers are activated (typically via a 3-position toggle switch); the “Middle” layer is active if neither Up nor Down layers are active. With the Cougar and its Foxy software, the default “Shift” button was S3, the pinky button at the base of the stick. This could be changed in software if desired. The 3-mode switch was the Dogfight switch, and this could not be changed. With T.A.R.G.E.T., any button or switch on any supported controller can act as the Shift or 3-mode switch. In fact, separate buttons or switches can be set to activate the “Up” and “Down” layers. Since T.A.R.G.E.T. also includes the ability to set these layers to toggle (so that the layers stay on until the activation button is pressed again), T.A.R.G.E.T. offers legitimate 6-layer programming for not only the HOTAS Warthog and HOTAS Cougar, but also for the inexpensive MFD Cougar Pack and T.16000M.
The videos below show T.A.R.G.E.T. being used to assign the layer controls…
|T.A.R.G.E.T. I-O and U-M-D Setup|
Then being used for simple drag-and-drop programming of a button with a shifted layer…
|T.A.R.G.E.T. Drag-and-Drop I-O Programming|
T.A.R.G.E.T. Axis Programming
In addition to simple-to-use button and switch programming, T.A.R.G.E.T. offers powerful control over all parameters of analog axis. The first step in setting up a profile is to map the physical axes of the controller(s) to the desired DirectX axes. For this step, hovering the mouse over the axis ID text causes the 3D model of controller to rotate into position and then indicate relevant axis and travel directions with flashing arrows. This is a very nice feature that eliminates a lot of potential confusion.
However, there seem to be two major omissions in T.A.R.G.E.T.’s capabilities. First, it can only assign up to eight axes (the DirectX limit) to a single virtual controller. In total T.A.R.G.E.T. supports up to 19 axes (Warthog Joystick: 2, Warthog Throttle: 5, Cougar: 8, T.16000M: 4), so it should be able to create multiple virtual controllers. Thrustmaster has indicated that T.A.R.G.E.T. is still improving and that this capability could be added at a later date.
Second, it appears that the Cougar’s rudder axis cannot be assigned to a DirectX axis in T.A.R.G.E.T. (the toebrake axes, however, are available). For those with existing rudders connected to the Cougar, this feature is necessary to maintain a single controller with stick, throttle, and rudder axes. I have confirmed that the Scripting language (more on that on the next page) is capable of including the Cougar’s rudder axis in a virtual controller. This means that the capability exists and the controllers can be programmed in this way, but it can’t be done in the current version of the T.A.R.G.E.T. GUI. Thrustmaster has indicated that this feature will be added to the T.A.R.G.E.T. GUI in the next T.A.R.G.E.T. release.
|The HOTAS Cougar rudder axis cannot be assigned to a DirectX axis in the T.A.R.G.E.T. GUI|
Once the axes are mapped, parameters such as curve, zoom, and deadzones can be manipulated. T.A.R.G.E.T. offers separate parameters for “S Curves” and “J Curves”. S Curves are for mechanically-centered axes, such a joystick axes, radar slew axes, and rudder. J Curves are for axes with adjustments relative to the end of that axis, such as throttle axes and toe brakes.
Parameters for S Curves comprise lower/center/upper deadzones, zoom, and curve. The deadzones are a percentage of total axis response, and thus the upper and lower deadzones have a range of 0-50 while the center deadzone has a range of 0-100. The zoom ranges from -10 to 10 and either reduces the overall response of the axis (negative values) or compresses it into less than 100% of the physical travel (positive values). The former is good for reducing the sensitivity of difficult-to-control axes such as the radar slew cursors (which the T.A.R.G.E.T. manual rightly points out are usually much too sensitive), while the latter could be useful for those wishing to design a stick extension handle.
|Curve settings “S Curve”|
Parameters for J Curves comprise the control position and the value of the axis at that position. The J Curve settings are most useful for tailoring throttle response to a specific application. The T.A.R.G.E.T. manual uses an example of the DCS sims; in this family of titles afterburner is triggered at 95% of throttle response. The Warthog throttle hits the afterburner detent at 80% of its travel. Therefore the manual suggests setting the J Curve options to a “Control position” of 80 and a “Value of axis” of 95. This means that the throttle response is altered so that the throttle gives 95% of its electrical output after it has traveled 80% of its physical distance. Similar settings with adjusted values could be used for other sims.
|Curve settings “J Curve”|
The remaining parameters, “Reverse Axis” and “Relative”, are common to both types of curves. Reverse axis simply reverses the direction of an axis. The Relative option takes an axis out of its normal absolute operation, where by default the value sent to DirectX directly reflects the axis position. The Relative option is designed for the radar slew axes; if these are programmed in a sim to control radar cursor position, in most sims the cursor will snap back to center when the control is released. This undesired behavior can be eliminated in sims such as LOMAC and its add-on Flaming Cliffs (not FC2), where the behavior of the TDC will be correct with Relative operation.
The video below shows T.A.R.G.E.T.’s axis manipulation capabilities.
|T.A.R.G.E.T. Axis Assignment and Adjustment|
The other powerful and easy thing T.A.R.G.E.T. can do with axes is to create simple digital axis programming (digital axis programming is when an analog axis generates keystrokes or button presses). The video below demonstrates how easy this is.
|T.A.R.G.E.T. Digital Axis Programming|
T.A.R.G.E.T. Documentation and Quirks
The T.A.R.G.E.T. version provided for review is 220.127.116.11, and the manual is labeled v1.3. The manual uses stilted English, written by a non-native speaker, and includes grammatical errors, spelling errors, and incomplete sentences. It is also fond of the word “ergonomy” which, while obviously based on the word “ergonomics”, isn’t actually a word. While I appreciate the fact that the French programmers who actually wrote the Warthog’s programming language had a hand in creating the manual, a $500 product deserves professional and less distracting documentation.
Also, after using Foxy for years to program my Cougar, I feel like “I speak Cougar” enough to help me understand the manual better than someone who has never owned or used a Thrustmaster HOTAS product. While T.A.R.G.E.T. is very different than Foxy, the concept of deciding what one wants a controller to do is quite similar between the two software applications.
T.A.R.G.E.T. also has a few quirks. It runs in a 1200×800 window that cannot be maximized or resized. This means that if you want to use T.A.R.G.E.T. on a small screen (perhaps to explore the program on a portable laptop or netbook), it may run off the edges of the screen. However, one nice thing about T.A.R.G.E.T. is that it can be used on any PC anywhere, irrespective of the presence of hardware. This means that one can work on a profile while on the road, or prospective buyers can explore the software before purchasing.
T.A.R.G.E.T. doesn’t drop behind the desktop when one presses “Win+d” in Windows XP (the keyboard shortcut to bring the desktop to the foreground). In effect, with T.A.R.G.E.T. running “Win+d” becomes a “show me T.A.R.G.E.T.” keyboard shortcut. Finally, there is no indication of software version in T.A.R.G.E.T. Since the program does not have a standard Windows menu bar, one has to navigate to C:\Program Files\Thrustmaster\TARGET (or the Windows 7 equivalent), right click on TARGETGUI.exe, select Properties, and go to the Version tab. For software that may be updated periodically it would be helpful to have a version visible or at least accessible from within the program, so that users know what software they are using.
After becoming familiar with the program, I used T.A.R.G.E.T. to begin a conversion of my complicated Jane’s F-18 Cougar profile to the HOTAS Warthog. Be warned: I learned, as I suspected, that this is a time-consuming task. However, after reading all of the documentation I felt comfortable. Even with T.A.R.G.E.T.’s GUI, it took me about 15 minutes to set up the axes and convert the programming for just two 6-layer HATs from Foxy to TARGET. I originally planned to convert the entire thing and time myself, but the task is simply too time-consuming to be done in a timely manner for this Review.
|SimHQ Review / Thrustmaster HOTAS Warthog / Table of Contents|
|Page 1||Page 2||Page 3||Page 4|
Hardware – The Joystick
Hardware – The Throttle
|Programming Software: T.A.R.G.E.T.||Programming Software: Scripts|
|Page 5||Page 6||Page 7|
|Comparison: Physical Appearance – Joysticks||Comparison: Physical Appearance – Throttles||Comparison: Motion Testing and Accuracy
Reviewer’s System Specs