Manually Configuring Input Devices

When you first download the Targetware system, it will be configured to place the basic flight controls to the X, Y, and RZ axes of the first joystick attached to the computer (see diagram below). You are not limited to this setup, however. You can configure Targetware to use just about every input device that can be hitched up to your computer. This section describes how to manually customize your input settings to use your joystick, rudder pedals, throttle, mouse, or any other standard input device.

Note: 
You do not have to edit your input devices by hand. You can use the Settings section of Targetware to change stick settings and key assignments in a point-and-click environment. See Keys, Controls, and Calibration for more information. This document is a reference to those who want to adjust the input.txt and joystick.txt files by hand with a text editor.

Standard Flight Controls

joystick roll joystick pitch joystick yaw
X Axis: Roll (Ailerons) Y Axis: Pitch (Elevators) RZ or R Axis: Yaw (Rudders) 

The input.txt File

The input.txt file governs the use of all the hardware that interacts with the game: keyboard, mouse, joysticks, etc.  It is a simple text file that can be modified with any text editor.  The input.txt file is divided into several sections based on function.  The parameters for each section are different, therefore, each section will be discussed separately.

Make sure to save a backup copy of your customized input.txt file when upgrading Targetware.  Because Targetware is still in beta testing and changes to the input.txt file are likely, you may have to re-enter all of your custom settings.  By keeping a backup file, you can refer to it to accomplish this easily.

Changing Input Devices

The [Joystick] section of the input.txt file matches flight control axes (yaw, pitch, RPMs, etc.) to devices, such as joysticks, rudder pedals, and throttles. Currently, there are six different axes that can be controlled:  Yaw, Pitch, Roll, Throttle, RPM, and Prop Pitch (by default, RPM and Prop Pitch are not mapped to an axis).

To change which control is mapped to an axis, open the input.txt file in a text editor and look at the [Joystick] section. You will see the following: 

Yaw = JS_1_AXIS_RZ
Pitch = JS_1_AXIS_Y
Roll = JS_1_AXIS_X
Throttle = JS_1_AXIS_Z
RPM =
Prop Pitch =

As you may have guessed "JS_1" refers to the first joystick (or other input device with axes) plugged into your system. In this setup, Yaw, Pitch, Roll, and Throttle are all mapped to the first joystick. If, however, you have a separate USB rudder pedals device that is acting as device 1 (the second device!), then you would change the Yaw line to read as follows:

Yaw = JS_2_AXIS_RZ

Customizing your joystick settings is as easy as that. Eventually, you will be able to control each engine throttle, RPM, Mixture, and Prop Pitch with separate axes... provided you have some kind of mega control system, of course.

The joystick.txt File

After you calibrate your joysticks, a file called "joystick.txt" will be automatically created in your /Targetware/ folder. The Joystick.txt file controls additional settings for each axis that may be useful in getting your devices to behave as desired.

  • Deadband
  • Saturate
  • Scale
  • Slider

In joystick.txt, the settings for each axis of a joystick or other device looks like this:

[Joystick 1 Axis X]
center = 0.000000
min = -10000.000000
max = 10000.000000
deadband = 0.000000
saturate = 1.000000
scale = 3

The Center, Min and Max values are best set using the device calibration tool within the Targetware interface.

Deadband is used to set an area in your device movement in which no input will be translated to the game. This helps loose or wobbly joysticks prevent accidental input that can make the game unnecessarily difficult. Acceptable values range from 0.0 to 1.0. Deadband ignores input from the center out. Thus, the greater the value, the farther away from the center position that no input will be used. Essentially, deadband gives no response over the inner X percent of device movement.

Saturate is essentially the opposite of Deadband. It gives full response in the outer range of a devices moment. The range is determined by the specified value.

Scale controls the game responsiveness of a given device. It defines a parabolic curve. The greater the scale value, the steeper the curve, and thus, the more sensitive the game will be to movement at the edge of a device's range and the fine control you will have near the device's center.