1
0
Fork 0
fgdata/Input/Joysticks/HoneycombAeronautical/Honeycomb-Aeronautical-Bravo-Throttle-Quadrant.xml

373 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 Bravo Trottle Quadrant
*
*
* Axis 0: Engine 1
* Axis 1: Speed brake
* Axis 2: Flaps
* Axis 3: Engine 4
* Axis 4: Engine 3
* Axis 5: Engine 2
*
* Button 0: Autopilot - Heading Hold
* Button 1: Autopilot - Nav Hold
* Button 2: Autopilot - APR
* Button 3: Autopilot - REV
* Button 4: Autopilot - ALT Hold
* Button 5: Autopilot - Vertical Speed hold
* Button 6: Autopilot - IAS Hold
* Button 7: Autopilot - Toggle AP engage
* Button 8: Reverse Thrust - Engine 1
* Button 9: Reverse Thrust - Engine 2
* Button 10: Reverse Thrust - Engine 3
* Button 11: Reverse Thrust - Engine 4
* Button 12: Increase - IAS / CRS / HDG / VS / ALT
* Button 13: Decrease - IAS / CRS / HDG / VS / ALT
* Button 14: Flaps Down
* Button 15: Flaps UP
* Button 16: Select IAS
* Button 17: Select CRS
* Button 18: Select HDG
* Button 19: Select VS
* Button 20: Select ALT
* Button 21: Trim Down
* Button 22: Trim Up
* Button 23: Handle 1 (left) - Fully down
* Button 24: Handle 2 (eng1) - Fully down
* Button 25: Handle 3 (eng2) - Fully down
* Button 26: Handle 4 (eng3) - Fully down
* Button 27: Handle 5 (eng4) - Fully down
* Button 28: - Switch on Handle 1
* Button 29: -
* Button 30: Gear Up
* Button 31: Gear Down
* Button 32: Handle 6 (right) - Fully down
* Button 33: Switch 1 - up
* Button 34: Switch 1 - down
* Button 35: Switch 2 - up
* Button 36: Switch 2 - down
* Button 37: Switch 3 - up
* Button 38: Switch 3 - down
* Button 39: Switch 4 - up
* Button 40: Switch 4 - down
* Button 41: Switch 5 - up
* Button 42: switch 5 - down
* Button 43: Switch 6 - up
* Button 44: Switch 6 - down
* Button 45: Switch 7 - up
* Button 46: Switch 7 - down
* Button 47:
********************************************************************
-->
<PropertyList>
<name type="string">Honeycomb Aeronautical Bravo Throttle Quadrant</name>
<axis>
<desc type="string">Throttle Engine 1</desc>
<binding>
<command type="string">property-scale</command>
<property type="string">/controls/engines/engine[1]/throttle</property>
<factor type="double">0.5</factor>
<offset type="double">1</offset>
<power type="double">1</power>
</binding>
</axis>
<axis n="1">
<desc type="string">Throttle Engine 0</desc>
<binding>
<command type="string">property-scale</command>
<property type="string">/controls/engines/engine[0]/throttle</property>
<factor type="double">0.5</factor>
<offset type="double">1</offset>
<power type="double">1</power>
</binding>
</axis>
<axis n="2">
<desc type="string">Mixture Engine 1</desc>
<binding>
<command type="string">property-scale</command>
<property type="string">/controls/engines/engine[1]/mixture</property>
<factor type="double">0.5</factor>
<offset type="double">1</offset>
<power type="double">1</power>
</binding>
</axis>
<axis n="3">
<desc type="string">Mixture Engine 0</desc>
<binding>
<command type="string">property-scale</command>
<property type="string">/controls/engines/engine[0]/mixture</property>
<factor type="double">0.5</factor>
<offset type="double">1</offset>
<power type="double">1</power>
</binding>
</axis>
1<axis n="4">
<desc type="string">Propeller Pitch Engine 1</desc>
<binding>
<command type="string">property-scale</command>
<property type="string">/controls/engines/engine[1]/propeller-pitch</property>
<factor type="double">0.5</factor>
<offset type="double">1</offset>
<power type="double">1</power>
</binding>
</axis>
<axis n="5">
<desc type="string">Propeller Pitch Engine 0</desc>
<binding>
<command type="string">property-scale</command>
<property type="string">/controls/engines/engine[0]/propeller-pitch</property>
<factor type="double">0.5</factor>
<offset type="double">1</offset>
<power type="double">1</power>
</binding>
</axis>
<button n="0">
<desc type="string">AP: Select Heading Hold</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/lateral", 1);
if ( node.getValue() == "dg-heading-hold" ) {
node.setValue( "" );
} else {
node.setValue( "dg-heading-hold" );
}
</script>
</binding>
</button>
<button n="1">
<desc type="string">AP: Select NAV1 Hold</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/lateral", 1);
if ( node.getValue() == "dg-nav1-hold" ) {
node.setValue( "" );
} else {
node.setValue( "dg-nav1-hold" );
}
</script>
</binding>
</button>
<button n="2">
<desc type="string">AP: Select Approach Hold</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/lateral", 1);
if ( node.getValue() == "dg-apr-hold" ) {
node.setValue( "" );
} else {
node.setValue( "dg-apr-hold" );
}
node = props.globals.getNode("/controls/autopilot/inputs/vertical", 1);
if ( node.getValue() == "dg-apr-hold" ) {
node.setValue( "" );
} else {
node.setValue( "dg-apr-hold" );
}
</script>
</binding>
</button>
<button n="3">
<desc type="string">AP: Select REV Hold</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/lateral", 1);
if ( node.getValue() == "dg-rev-hold" ) {
node.setValue( "" );
} else {
node.setValue( "dg-rev-hold" );
}
</script>
</binding>
</button>
<button n="4">
<desc type="string">AP: Select ALT Hold</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/vertical", 1);
if ( node.getValue() == "dg-alt-hold" ) {
node.setValue( "" );
} else {
node.setValue( "dg-alt-hold" );
}
</script>
</binding>
</button>
<button n="5">
<desc type="string">AP: Select VS Hold</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/vertical", 1);
if ( node.getValue() == "dg-vs-hold" ) {
node.setValue( "" );
} else {
node.setValue( "dg-vs-hold" );
}
</script>
</binding>
</button>
<button n="6">
<desc type="string">AP: Select VS Hold</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/speed", 1);
if ( node.getValue() == "ias" ) {
node.setValue( "" );
} else {
node.setValue( "ias" );
}
</script>
</binding>
</button>
<button n="7">
<desc type="string">AP: Master Switch</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/master", 1);
if ( node.getValue() == "active" ) {
node.setValue( "" );
} else {
node.setValue( "active" );
}
</script>
</binding>
</button>
<button n="14">
<desc type="string">Flaps Down</desc>
<binding>
<command type="string">nasal</command>
<script type="string">controls.flapsDown(1);</script>
</binding>
<repeatable type="double">0</repeatable>
</button>
<button n="15">
<desc type="string">Flaps Up</desc>
<binding>
<command type="string">nasal</command>
<script type="string">controls.flapsDown(-1);</script>
</binding>
<repeatable type="double">0</repeatable>
</button>
<button n="16">
<desc type="string">AP: Change IAS</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/selector", 1);
node.setValue( "ias" );
</script>
</binding>
</button>
<button n="17">
<desc type="string">AP: Change CRS</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/selector", 1);
node.setValue( "crs" );
</script>
</binding>
</button>
<button n="18">
<desc type="string">AP: Change HDG</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/selector", 1);
node.setValue( "hdg" );
</script>
</binding>
</button>
<button n="19">
<desc type="string">AP: Change VS</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/selector", 1);
node.setValue( "vs" );
</script>
</binding>
</button>
<button n="20">
<desc type="string">AP: Change ALT</desc>
<binding>
<command type="string">nasal</command>
<script>
node = props.globals.getNode("/controls/autopilot/inputs/selector", 1);
node.setValue( "alt" );
</script>
</binding>
</button>
<button n="21">
<desc type="string">Elevator Trim Down</desc>
<binding>
<command type="string">nasal</command>
<script type="string">controls.elevatorTrim(1);</script>
</binding>
<repeatable type="double">1</repeatable>
</button>
<button n="22">
<desc type="string">Elevator Trim Up</desc>
<binding>
<command type="string">nasal</command>
<script type="string">controls.elevatorTrim(-1);</script>
</binding>
<repeatable type="double">1</repeatable>
</button>
</PropertyList>