397 lines
12 KiB
XML
397 lines
12 KiB
XML
|
<?xml version="1.0"?>
|
||
|
|
||
|
<!--
|
||
|
|
||
|
Copyright (c) 2021 FlightGear Flight Simulator
|
||
|
|
||
|
This program is free software: you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation, either version 2 of the License, or
|
||
|
(at your option) any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
********************************************************************
|
||
|
|
||
|
Written for the Cessna 172 and only tested on Raspberry Pi OS running
|
||
|
FlightGear 2020.3.6
|
||
|
|
||
|
********************************************************************
|
||
|
-->
|
||
|
|
||
|
|
||
|
<!--
|
||
|
********************************************************************
|
||
|
*
|
||
|
* Bindings for Honeycomb Aeronautical Alpha Flight Controls - Yoke
|
||
|
*
|
||
|
*
|
||
|
* Axis 0: ailerons
|
||
|
* Axis 1: elevator
|
||
|
* Axes 2 and 3 (hat): view direction
|
||
|
*
|
||
|
* Button 0: YOKE white-Trigger left-handle >>>>>>>> View, Cycle Forwards
|
||
|
* Button 1: YOKE white-top-Button left-handle >>>>> View, Reset
|
||
|
* Button 2: YOKE white-top-Button right-handle
|
||
|
* Button 3: YOKE red-top-Button right-handle
|
||
|
* Button 4: YOKE outer-Rocker down left-handle >>>> Elevator Trim, Up
|
||
|
* Button 5: YOKE outer-Rocker up left-handle >>>>>> Elevator Trim, Down
|
||
|
* Button 6: YOKE inner-Rocker down left-handle >>>> Flaps, Down
|
||
|
* Button 7: YOKE inner-Rocker up left-handle >>>>>> Flaps, Up
|
||
|
* Button 8: YOKE top-Rocker inward right-handle >>> Rudder Trim, Left
|
||
|
* Button 9: YOKE top-Rocker outward right-handle >> Rudder Trim, Right
|
||
|
* Button 10: YOKE bottom-Rocker inward right-handle
|
||
|
* Button 11: YOKE bottom-Rocker outward right-handle
|
||
|
* Button 12: BASE Master Alternator up >>>>>>>>>>>>> Master Alternator, ON OFF
|
||
|
* Button 13: BASE Master Alternator down
|
||
|
* Button 14: BASE Master Battery up >>>>>>>>>>>>>>>> Battery, ON OFF
|
||
|
* Button 15: BASE Master Battery down
|
||
|
* Button 16: BASE Avionics Bus1 up >>>>>>>>>>>>>>>>> Master Avionics, ON OFF
|
||
|
* Button 17: BASE Avionics Bus1 down
|
||
|
* Button 18: BASE Avionics Bus2 up
|
||
|
* Button 19: BASE Avionics Bus2 down
|
||
|
* Button 20: BASE Beacon up >>>>>>>>>>>>>>>>>>>>>>>> Beacon, ON OFF
|
||
|
* Button 21: BASE Beacon down
|
||
|
* Button 22: BASE Land up >>>>>>>>>>>>>>>>>>>>>>>>>> Landing Lights, ON OFF
|
||
|
* Button 23: BASE Land down
|
||
|
* Button 24: BASE Taxi up >>>>>>>>>>>>>>>>>>>>>>>>>> Taxi Lights, ON OFF
|
||
|
* Button 25: BASE Taxi down
|
||
|
* Button 26: BASE Nav up >>>>>>>>>>>>>>>>>>>>>>>>>>> Navigation Lights, ON OFF
|
||
|
* Button 27: BASE Nav down
|
||
|
* Button 28: BASE Strobe up >>>>>>>>>>>>>>>>>>>>>>>> Strobe Light, ON OFF
|
||
|
* Button 29: BASE Strobe down
|
||
|
* Button 30: BASE Off >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Magneto, OFF
|
||
|
* Button 31: BASE Right Mag >>>>>>>>>>>>>>>>>>>>>>>> Magneto, Right
|
||
|
* Button 32: BASE Left Mag >>>>>>>>>>>>>>>>>>>>>>>>> See note below
|
||
|
* Button 33: BASE Both Mag >>>>>>>>>>>>>>>>>>>>>>>>> See note below
|
||
|
* Button 34: BASE Start >>>>>>>>>>>>>>>>>>>>>>>>>>>> See note below
|
||
|
|
||
|
********************************************************************
|
||
|
-->
|
||
|
|
||
|
<PropertyList>
|
||
|
<name type="string">Honeycomb Aeronautical Alpha Flight Controls</name>
|
||
|
|
||
|
<axis>
|
||
|
<desc>Aileron</desc>
|
||
|
<binding>
|
||
|
<command>property-scale</command>
|
||
|
<property>/controls/flight/aileron</property>
|
||
|
<factor type="double">1</factor>
|
||
|
<offset type="double">0</offset>
|
||
|
</binding>
|
||
|
</axis>
|
||
|
|
||
|
<axis n="1">
|
||
|
<desc>Elevator</desc>
|
||
|
<binding>
|
||
|
<command>property-scale</command>
|
||
|
<property>/controls/flight/elevator</property>
|
||
|
<factor type="double">-1</factor>
|
||
|
<offset type="double">0</offset>
|
||
|
</binding>
|
||
|
</axis>
|
||
|
|
||
|
<axis n="2">
|
||
|
<desc>View, Direction</desc>
|
||
|
<direction>left</direction>
|
||
|
<low>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>view.panViewDir(1)</script>
|
||
|
<module>__js1</module>
|
||
|
<offset type="double">1</offset>
|
||
|
</binding>
|
||
|
</low>
|
||
|
<high>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>view.panViewDir(-1)</script>
|
||
|
<module>__js1</module>
|
||
|
<offset type="double">1</offset>
|
||
|
</binding>
|
||
|
</high>
|
||
|
</axis>
|
||
|
|
||
|
<axis n="3">
|
||
|
<desc>View, Elevation</desc>
|
||
|
<direction>upward</direction>
|
||
|
<low>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>view.panViewPitch(1)</script>
|
||
|
<module>__js1</module>
|
||
|
<offset type="double">1</offset>
|
||
|
</binding>
|
||
|
</low>
|
||
|
<high>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>view.panViewPitch(-1)</script>
|
||
|
<module>__js1</module>
|
||
|
<offset type="double">1</offset>
|
||
|
</binding>
|
||
|
</high>
|
||
|
</axis>
|
||
|
|
||
|
<button n="0">
|
||
|
<desc>View, Cycle Forwards</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>view.stepView(1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="1">
|
||
|
<desc>View, Reset</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>
|
||
|
setprop("/sim/current-view/view-number", 0);
|
||
|
view.resetView()
|
||
|
</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="4">
|
||
|
<desc>Elevator Trim, Up</desc>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>controls.elevatorTrim(-1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="5">
|
||
|
<desc>Elevator Trim, Down</desc>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>controls.elevatorTrim(1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="6">
|
||
|
<desc>Flaps, Down</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>controls.flapsDown(1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="7">
|
||
|
<desc>Flaps, Up</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>controls.flapsDown(-1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="8">
|
||
|
<desc>Rudder Trim, Left</desc>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>controls.rudderTrim(-1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="9">
|
||
|
<desc>Rudder Trim, Right</desc>
|
||
|
<repeatable>true</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>controls.rudderTrim(1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="12">
|
||
|
<desc>Master Alternator, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/master-alt", 1);</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/master-alt", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="14">
|
||
|
<desc>Battery, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/master-bat", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/master-bat", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="16">
|
||
|
<desc>Master Avionics, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/master-avionics", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/master-avionics", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="20">
|
||
|
<desc>Beacon, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/beacon", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/beacon", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="22">
|
||
|
<desc>Landing Lights, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/landing-lights", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/landing-lights", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="24">
|
||
|
<desc>Taxi Lights, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/taxi-light", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/taxi-light", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="26">
|
||
|
<desc>Navigation Lights, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/nav-lights", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/nav-lights", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="28">
|
||
|
<desc>Strobe Light, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/strobe", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/strobe", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
|
||
|
<button n="30">
|
||
|
<desc>Magneto, OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/magnetos", 0)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="31">
|
||
|
<desc>Magneto, Right</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/magnetos", 1)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<!-- Linux and FlightGear does not handle more than 32 USB buttons.
|
||
|
See FlightGear Ticket 2212.
|
||
|
|
||
|
<button n="32">
|
||
|
<desc>Magneto, Left</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/magnetos", 2)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="33">
|
||
|
<desc>Magneto, Both</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/switches/magnetos", 3)</script>
|
||
|
</binding>
|
||
|
</button>
|
||
|
|
||
|
<button n="34">
|
||
|
<desc>Starter, ON OFF</desc>
|
||
|
<repeatable>false</repeatable>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/strobe", 1)</script>
|
||
|
</binding>
|
||
|
<mod-up>
|
||
|
<binding>
|
||
|
<command>nasal</command>
|
||
|
<script>setprop("/controls/lighting/strobe", 0)</script>
|
||
|
</binding>
|
||
|
</mod-up>
|
||
|
</button>
|
||
|
-->
|
||
|
|
||
|
</PropertyList>
|