<?xml version="1.0"?> <!-- Joystick binding definitions. This file is included by preferences.xml, and uses the context of its inclusion point; that means that you need to prepend "/input/joysticks" to all property names. This file defines primary flight-control bindings for a simple three-axis, three-button joystick, as follow: axis 0 (left-right): aileron axis 1 (forward-backward): elevator axis 2 (slider): throttle button 0 (trigger): brakes button 1: trim up button 2: trim down If you have a more sophisticated joystick, there might be more axes available; on my joystick, axis 2 is actually a twist axis (usually for the rudder), while axis 3 is the throttle. There are also two axes for the hat switch, and several more buttons. --> <PropertyList> <js> <axis n="0"> <desc>Aileron</desc> <binding> <command>property-scale</command> <property>/controls/aileron</property> <squared>true</squared> </binding> </axis> <axis n="1"> <desc>Elevator</desc> <binding> <command>property-scale</command> <property>/controls/elevator</property> <factor type="double">-1.0</factor> <squared>true</squared> </binding> </axis> <axis n="2"> <desc>Throttle</desc> <binding> <command>property-scale</command> <property>/controls/throttle[0]</property> <offset type="double">-1.0</offset> <factor type="double">-0.5</factor> </binding> <binding> <command>property-scale</command> <property>/controls/throttle[1]</property> <offset type="double">-1.0</offset> <factor type="double">-0.5</factor> </binding> </axis> <button n="0"> <desc>Brakes</desc> <binding> <command>property-assign</command> <property>/controls/brakes[0]</property> <value type="double">1.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/brakes[1]</property> <value type="double">1.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/brakes[2]</property> <value type="double">1.0</value> </binding> <mod-up> <binding> <command>property-assign</command> <property>/controls/brakes[0]</property> <value type="double">0.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/brakes[1]</property> <value type="double">0.0</value> </binding> <binding> <command>property-assign</command> <property>/controls/brakes[2]</property> <value type="double">0.0</value> </binding> </mod-up> </button> <button n="1"> <desc>Elevator trim up</desc> <repeatable>true</repeatable> <binding> <command>property-adjust</command> <property>/controls/elevator-trim</property> <step type="double">0.001</step> </binding> </button> <button n="2"> <desc>Elevator trim down</desc> <repeatable>true</repeatable> <binding> <command>property-adjust</command> <property>/controls/elevator-trim</property> <step type="double">-0.001</step> </binding> </button> </js> </PropertyList> <!-- end of joysticks.xml -->