235 lines
5.8 KiB
XML
Executable file
235 lines
5.8 KiB
XML
Executable file
<?xml version="1.0" ?>
|
|
<!--
|
|
************************************************************************
|
|
* Bindings for CH Fighterstick USB joystick.
|
|
*
|
|
* Axis 0 : Ailerons
|
|
* Axis 1 : Elevator
|
|
* Axis 2 : Throttle
|
|
* Axes 6 : Rudder trim (8-way hat)
|
|
* Axes 7 : Elevator trim (8-way hat)
|
|
*
|
|
* Button 0 (trigger) : PTT - Push To Talk (via VoIP)
|
|
* Button 1 (top left) : Unassigned
|
|
* Button 2 (top right): Parking brake
|
|
* Button 3 (bottom) : view reset
|
|
* Button 5/6 (left 4-way up/down): Flaps
|
|
* Button 8-11 (bottom right 4-way): Angle of view/View Cycle
|
|
* Button 12-15 (thumb 4-way): View direction
|
|
************************************************************************
|
|
-->
|
|
<PropertyList>
|
|
|
|
<name>CH FIGHTERSTICK USB </name>
|
|
|
|
<axis n="0">
|
|
<desc>Aileron</desc>
|
|
<binding>
|
|
<command>property-scale</command>
|
|
<property>/controls/flight/aileron</property>
|
|
<dead-band type="double">0.02</dead-band>
|
|
<offset type="double">0.0</offset>
|
|
<factor type="double">1.0</factor>
|
|
</binding>
|
|
</axis>
|
|
|
|
<axis n="1">
|
|
<desc>Elevator</desc>
|
|
<binding>
|
|
<command>property-scale</command>
|
|
<property>/controls/flight/elevator</property>
|
|
<dead-band type="double">0.02</dead-band>
|
|
<offset type="double">0.0</offset>
|
|
<factor type="double">-1.0</factor>
|
|
</binding>
|
|
</axis>
|
|
|
|
<axis n="2">
|
|
<desc>Throttle</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.throttleAxis()</script>
|
|
</binding>
|
|
</axis>
|
|
|
|
<axis n="6">
|
|
<desc>Rudder Trim</desc>
|
|
<low>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.rudderTrim(1)</script>
|
|
</binding>
|
|
</low>
|
|
<high>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.rudderTrim(-1)</script>
|
|
</binding>
|
|
</high>
|
|
</axis>
|
|
|
|
<axis n="7">
|
|
<desc>Elevator Trim</desc>
|
|
<low>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.elevatorTrim(1)</script>
|
|
</binding>
|
|
</low>
|
|
<high>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.elevatorTrim(-1)</script>
|
|
</binding>
|
|
</high>
|
|
</axis>
|
|
|
|
<button n="0">
|
|
<name>trigger</name>
|
|
<desc>Trigger</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.trigger(1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.trigger(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</button>
|
|
|
|
<button n="2">
|
|
<desc>Parking Brake Off</desc>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyParkingBrake(1)</script>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="3">
|
|
<desc>Reset view</desc>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
setprop("/sim/current-view/view-number", 0);
|
|
setprop("/sim/current-view/goal-pitch-offset-deg", getprop("/sim/view[0]/config/pitch-offset-deg"));
|
|
setprop("/sim/current-view/goal-heading-offset-deg", 0.0);
|
|
#setprop("/sim/current-view/field-of-view", getprop("/sim/view/config/default-field-of-view-deg"));
|
|
</script>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="4">
|
|
<desc>Flaps Up</desc>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(-1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</button>
|
|
|
|
<button n="6">
|
|
<desc>Flaps Down</desc>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</button>
|
|
|
|
<button n="8">
|
|
<desc>View Decrease</desc>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.decrease(0.75)</script>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="9">
|
|
<desc>View Cycle Forwards</desc>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.stepView(1)</script>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="10">
|
|
<desc>View Increase</desc>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.increase(0.75)</script>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="11">
|
|
<desc>View Cycle Backwards</desc>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.stepView(-1)</script>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="12">
|
|
<desc>View Up</desc>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/current-view/goal-pitch-offset-deg</property>
|
|
<step type="double">4.0</step>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="13">
|
|
<desc>View Right</desc>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<step type="double">-4.0</step>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="14">
|
|
<desc>View Down</desc>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/current-view/goal-pitch-offset-deg</property>
|
|
<step type="double">-4.0</step>
|
|
</binding>
|
|
</button>
|
|
|
|
<button n="15">
|
|
<desc>View Left</desc>
|
|
<repeatable>true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<step type="double">4.0</step>
|
|
</binding>
|
|
</button>
|
|
|
|
</PropertyList>
|