1
0
Fork 0
fgdata/Input/Joysticks/CH/fighterstick-usb.xml
2019-01-06 20:15:24 +00:00

259 lines
6.2 KiB
XML

<?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) : Trigger
* Button 1 (top left) : PTT - Push To Talk (via VoIP)
* 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>
<name>CH PRODUCTS 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>
<desc>Rudder Trim</desc>
<number>
<unix>3</unix>
<windows>6</windows>
</number>
<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>
<desc>Elevator Trim</desc>
<number>
<unix>4</unix>
<windows>7</windows>
</number>
<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="1">
<name>PTT</name>
<desc>Push To Talk (FGCom)</desc>
<binding>
<command>nasal</command>
<script>controls.ptt(1)</script>
</binding>
<mod-up>
<binding>
<command>nasal</command>
<script>controls.ptt(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") or 0);
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") or 60.0);
</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>false</repeatable>
<binding>
<command>property-adjust</command>
<property>/sim/current-view/goal-pitch-offset-deg</property>
<step>20.0</step>
</binding>
</button>
<button n="13">
<desc>View Right</desc>
<repeatable>false</repeatable>
<binding>
<command>property-adjust</command>
<property>/sim/current-view/goal-heading-offset-deg</property>
<step>-30.0</step>
</binding>
</button>
<button n="14">
<desc>View Down</desc>
<repeatable>false</repeatable>
<binding>
<command>property-adjust</command>
<property>/sim/current-view/goal-pitch-offset-deg</property>
<step>-20.0</step>
</binding>
</button>
<button n="15">
<desc>View Left</desc>
<repeatable>false</repeatable>
<binding>
<command>property-adjust</command>
<property>/sim/current-view/goal-heading-offset-deg</property>
<step>30.0</step>
</binding>
</button>
</PropertyList>