Users Guide to Joystick Usage Under FlightGear Flight Simulator
-First Draft
+version 0.3 10/06/2000
Author John Check <j4strngs@rockfish.net>
This document is written with versions of FlightGear 0.7.5 and greater
platforms. I'd like to say thanks to all the developers who make FGFS happen
and forgive me for not giving credit with regard to the property
manager and js_demo. Corrections and additions are encouraged.
+The most current version can be found at http://rockfish.net/shell/aboutjoy.txt
Some History:
Earlier versions of FGFS had assignments of joystick axis/buttons
to control the default operation. The .fgfsrc file is not created at runtime
and must be created manually. Fortunately, the format of the file is
straightforward. All one need do is place the commandline options one would
-like in a plain ASCII text file in the users home directory.
+like in a plain ASCII text file in the users home directory. System wide
+defaults can be place in $FG_ROOT/system.fgfsrc.
With the advent of the property manager it became possible to add a number
of additional runtime options to the .fgfsrc file including joystick channel
number +1. Hex numbers start at 0, so this number is incremented by one for
hopefully obvious reasons.
+
Default Joystick properties:
+
Axis 0 = Aileron
Axis 1 = Elevator
Axis 2 = Rudder
Button 6 = Flaps (up)
-In addition to the channel assignments there are other parameters
-that can be passed to FGFS.
+In addition to the channel assignments there are other properties
+for tuning the joystick. These values work together in a particular order.
+They should always be written as a 'float', or decimal number.
+
+The full order of precedence for axis properties is
+
+1. The raw axis value ...
+2. is adjusted to dead-band, ...
+3. then adjusted to offset, ...
+4. then multiplied by factor, which ...
+5. is assigned to the FlightGear control property.
+
+Put another way....
+
+ cooked_value = (( raw_value > dead-band ) + offset) * factor
-Axis properties
+
+Axis properties:
dead-band
+-1 0 1
+ .......................
+-1 | | 1
+ ^
+ dead-band
+
+
This is an area where signals are ignored. It is used to compensate
for noise or potentiometers of dubious quality by creating a threshold
-below which any signal is ignored. It it written as a decimal number or "float"
-with a typical value of 0.1 for elevators and ailerons, 0.0 for throttle
-
- factor
+below which any signal is ignored.
-This number, also written as a float, will control sensitivity of an axis.
-Negating the number will result in the control moving counter to the default.
-A typical value is 1.0. In my case, throttle behaviour was inverted from what
-I preferred. I set this value to -1.0 and everything was groovy.
+The default of 0.1 for elevators and ailerons is very forgiving. A lower
+number results in a tighter feel. Throttle defaults to 0.0
+
offset
-Also a float. Used to maximize a controls use of it's axis, as in the case of a
+-1 0 1
+ .......................
+-1 ^ 1
+ offset
+
+Used to maximize a controls use of it's axis, as in the case of a
throttle where zero would be a minimum and not a center point like in the case
-of a rudder. Typical value -1.0 (Am I close? Anybody?)
+of a rudder. Typical value -1.0.
+
+
+ factor
+
+Controls sensitivity of an axis. If the factor is too low it results in
+control not reaching its maximum possible limit. Negating the number will result in
+the control moving counter to the default. The default value is 1.0, think unity gain.
+
+In my case, throttle behaviour was inverted from what I preferred.
+I set this value to -1.0 and everything was groovy.
+
Button properties
In this case repeatable means when the button is held down the value continues
to increment. repeatable is a true / false value. The default for brakes is
false. This is appropriate since by default brakes are a switch that are full
-on (right?) Elevator trim on the other hand defaults to true. Holding down the
+on. Elevator trim on the other hand defaults to true. Holding down the
button for elevator trim will cause a continuous adjustment until the button
is released. Being a fine adjustment this is appropriate behaviour. Flaps
on the otherhand default to false. Clicking the flaps button will cause the
+
+
+