- move "fire starter" from SPACE-key to s-key - move "open property browser" from Shift-SPACE to Shift-Enter (Shift-Return) - implement PTT on SPACE/Shift-SPACE (with the other six SPACE/modifier combinations unused, apart from a popup) - add controls.ptt(v) wrapper function (v can be 1 or 2 for on, and 0 for off) Easter-Egg: - pressing the t-key for at least one second resets the warp delta. This is an experimental feature that most people won't notice. It's meant for investigating if suchlike "unorthodox" key use is acceptable. While modifier-keys are the norm on computer keyboards, modifier-times aren't, although we are used to them from other devices, such as alarm clocks etc.) May later get removed without warning.
1401 lines
32 KiB
XML
1401 lines
32 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
Key binding definitions.
|
|
|
|
The *-key in fg/osg/osgviewer is handled in the C++ code.
|
|
|
|
Regular keycodes go up to 255; special keys start at 256, and can be
|
|
calculated by adding 256 to the GLUT key value in glut.h.
|
|
-->
|
|
|
|
<PropertyList>
|
|
|
|
<nasal>
|
|
<script>
|
|
var kbdshift = props.globals.getNode("/devices/status/keyboard/shift");
|
|
var kbdctrl = props.globals.getNode("/devices/status/keyboard/ctrl");
|
|
var kbdalt = props.globals.getNode("/devices/status/keyboard/alt");
|
|
|
|
var get_modifiers = func {
|
|
kbdshift.getValue() + 2 * kbdctrl.getValue() + 4 * kbdalt.getValue();
|
|
}
|
|
|
|
var space_release = func {}
|
|
var space = func(state, mod) {
|
|
if (!state) {
|
|
space_release();
|
|
return space_release = func {}
|
|
}
|
|
if (mod == 0 or mod == 1) {
|
|
controls.ptt(mod + 1);
|
|
space_release = func { controls.ptt(0) }
|
|
} else {
|
|
gui.popupTip("SPACE " ~ mod ~ " " ~ (state ? "press" : "release"));
|
|
}
|
|
}
|
|
</script>
|
|
</nasal>
|
|
|
|
<key n="1">
|
|
<name>Ctrl-A</name>
|
|
<desc>Toggle autopilot altitude lock.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/altitude", 1);
|
|
if ( node.getValue() == "altitude-hold" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "altitude-hold" );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="2">
|
|
<name>Ctrl-B</name>
|
|
<desc>Toggle speedbrake.</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/controls/flight/speedbrake</property>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="3">
|
|
<name>Ctrl-C</name>
|
|
<desc>Toggle clickable panel hotspots</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/sim/panel-hotspots</property>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="7">
|
|
<name>Ctrl-G</name>
|
|
<desc>Toggle autopilot glide slope lock.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/altitude", 1);
|
|
if ( node.getValue() == "gs1-hold" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "gs1-hold" );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="8">
|
|
<name>Ctrl-H</name>
|
|
<desc>Toggle autopilot heading lock.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/heading", 1);
|
|
if ( node.getValue() == "dg-heading-hold" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "dg-heading-hold" );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="9">
|
|
<name>Ctrl-I</name>
|
|
<desc>Show instrument setting dialog.</desc>
|
|
<binding>
|
|
<command>dialog-show</command>
|
|
<dialog-name>instruments</dialog-name>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="13">
|
|
<name>Enter</name>
|
|
<desc>Move rudder right.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/rudder</property>
|
|
<step type="double">0.05</step>
|
|
</binding>
|
|
<mod-shift>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>gui.property_browser()</script>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="14">
|
|
<name>Ctrl-N</name>
|
|
<desc>Toggle autopilot nav1 lock.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/heading", 1);
|
|
if ( node.getValue() == "nav1-hold" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "nav1-hold" );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="16">
|
|
<name>Ctrl-P</name>
|
|
<desc>Toggle pitch hold.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/altitude", 1);
|
|
if ( node.getValue() == "pitch-hold" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "pitch-hold" );
|
|
pitch = props.globals.getNode("/autopilot/settings/target-pitch-deg", 1);
|
|
pitch.setValue( getprop("/orientation/pitch-deg") );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="18">
|
|
<name>Ctrl-R</name>
|
|
<desc>Show radio setting dialog.</desc>
|
|
<binding>
|
|
<command>dialog-show</command>
|
|
<dialog-name>radios</dialog-name>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="19">
|
|
<name>Ctrl-S</name>
|
|
<desc>Toggle auto-throttle lock.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/speed", 1);
|
|
if ( node.getValue() == "speed-with-throttle" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "speed-with-throttle" );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="20">
|
|
<name>Ctrl-T</name>
|
|
<desc>Toggle autopilot terrain lock.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/altitude", 1);
|
|
if ( node.getValue() == "agl-hold" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "agl-hold" );
|
|
agl = props.globals.getNode("/autopilot/settings/target-agl-ft", 1);
|
|
agl.setValue( getprop("/position/altitude-agl-ft") );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="21">
|
|
<name>Ctrl-U</name>
|
|
<desc>[Cheat] Add 1000ft of emergency altitude.</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/position/altitude-ft</property>
|
|
<step type="double">1000.0</step>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/startup/onground</property>
|
|
<value type="bool">false</value>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="22">
|
|
<name>Ctrl-V</name>
|
|
<desc>Select initial view (view 0).</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/view-number</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="23">
|
|
<name>Ctrl-W</name>
|
|
<desc>Toggle autopilot wing leveler.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
node = props.globals.getNode("/autopilot/locks/heading", 1);
|
|
if ( node.getValue() == "wing-leveler" ) {
|
|
node.setValue( "" );
|
|
} else {
|
|
node.setValue( "wing-leveler" );
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="24">
|
|
<name>Ctrl-X</name>
|
|
<desc>Reset zoom to default.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/field-of-view</property>
|
|
<property>/sim/view/config/default-field-of-view-deg</property>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="27">
|
|
<name>ESC</name>
|
|
<desc>Prompt and quit FlightGear.</desc>
|
|
<binding>
|
|
<command>dialog-show</command>
|
|
<dialog-name>exit</dialog-name>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Reset FlightGear.</desc>
|
|
<binding>
|
|
<command>old-reinit-dialog</command>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="32">
|
|
<name>SPACE</name>
|
|
<desc>PTT - Push To Talk (via VoIP)</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>space(1, get_modifiers())</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>space(0, get_modifiers())</script>
|
|
</binding>
|
|
</mod-up>
|
|
<mod-shift>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>space(1, get_modifiers())</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>space(0, get_modifiers())</script>
|
|
</binding>
|
|
</mod-up>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="33">
|
|
<name>!</name>
|
|
<desc>Select first engine</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.selectEngine(0)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="35">
|
|
<name>#</name>
|
|
<desc>Select third engine</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.selectEngine(2)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="36">
|
|
<name>$</name>
|
|
<desc>Select fourth engine</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.selectEngine(3)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="39">
|
|
<name>'</name>
|
|
<desc>Display a dialog relevant to the tuned in ATC service (if any)</desc>
|
|
<binding>
|
|
<command>ATC-dialog</command>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="43">
|
|
<name>+</name>
|
|
<desc>Let ATC/instructor repeat last message.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>screen.msg_repeat()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="44">
|
|
<name>,</name>
|
|
<desc>Left brake</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyBrakes(1, -1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyBrakes(0, -1)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="46">
|
|
<name>.</name>
|
|
<desc>Right brake</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyBrakes(1, 1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyBrakes(0, 1)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="48">
|
|
<name>0</name>
|
|
<desc>Move rudder left.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/rudder</property>
|
|
<step type="double">-0.05</step>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="49">
|
|
<name>1</name>
|
|
<desc>Decrease elevator trim.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/elevator-trim</property>
|
|
<step type="double">-0.001</step>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look back left</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/back-left-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="50">
|
|
<name>2</name>
|
|
<desc>Increase elevator or autopilot altitude.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incElevator(-0.05, 100)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look back.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/back-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="51">
|
|
<name>3</name>
|
|
<desc>Decrease throttle or autopilot autothrottle.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incThrottle(-0.01, -1.0)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look back right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/back-right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="52">
|
|
<name>4</name>
|
|
<desc>Move aileron left (or adjust AP heading.)</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incAileron(-0.05, -1.0)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look left.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/left-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="53">
|
|
<name>5</name>
|
|
<desc>Center aileron, elevator, and rudder.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.centerFlightControls()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="54">
|
|
<name>6</name>
|
|
<desc>Move aileron right (or adjust AP heading.)</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incAileron(0.05, 1.0)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="55">
|
|
<name>7</name>
|
|
<desc>Increase elevator trim.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/elevator-trim</property>
|
|
<step type="double">0.001</step>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look front left.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/front-left-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="56">
|
|
<name>8</name>
|
|
<desc>Decrease elevator or autopilot altitude.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incElevator(0.05, -100)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look forward.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/front-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="57">
|
|
<name>9</name>
|
|
<desc>Increase throttle or autopilot autothrottle.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incThrottle(0.01, 1.0)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look front right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/front-right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="63">
|
|
<name>?</name>
|
|
<desc>Show help dialog</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>gui.showHelpDialog("/sim/help", 1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="64">
|
|
<name>@</name>
|
|
<desc>Select second engine</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.selectEngine(1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="65">
|
|
<name>A</name>
|
|
<desc>Decrease speed-up.</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/speed-up</property>
|
|
<min>1</min>
|
|
<step type="double">-1</step>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="66">
|
|
<name>B</name>
|
|
<desc>Toggle parking brake on or off</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyParkingBrake(1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyParkingBrake(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="71">
|
|
<name>G</name>
|
|
<desc>Gear down.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.gearDown(1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.gearDown(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="72">
|
|
<name>H</name>
|
|
<desc>Cycle HUD Brightness</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>aircraft.HUD.cycle_brightness()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="73">
|
|
<name>I</name>
|
|
<desc>Switch to and toggle alternative HUD types</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>aircraft.HUD.cycle_type()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="77">
|
|
<name>M</name>
|
|
<desc>Mixture leaner.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.adjMixture(-1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="78">
|
|
<name>N</name>
|
|
<desc>Propeller Coarser.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.adjPropeller(-1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="80">
|
|
<name>P</name>
|
|
<desc>Toggle panel.</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/sim/panel/visibility</property>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="83">
|
|
<name>S</name>
|
|
<desc>Swap panels.</desc>
|
|
<binding>
|
|
<condition>
|
|
<not>
|
|
<property>/sim/allow-toggle-cockpit</property>
|
|
</not>
|
|
</condition>
|
|
<command>property-swap</command>
|
|
<property>/sim/panel/path</property>
|
|
<property>/sim/panel_2/path</property>
|
|
</binding>
|
|
<binding>
|
|
<condition>
|
|
<not>
|
|
<property>/sim/allow-toggle-cockpit</property>
|
|
</not>
|
|
</condition>
|
|
<command>panel-load</command>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="84">
|
|
<name>T</name>
|
|
<desc>Decrease warp delta.</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/time/warp-delta</property>
|
|
<step type="int">-30</step>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="86">
|
|
<name>V</name>
|
|
<desc>Scroll in reverse through views.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.stepView(-1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="87">
|
|
<name>W</name>
|
|
<desc>Decrease warp.</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/time/warp</property>
|
|
<step type="int">-60</step>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="88">
|
|
<name>X</name>
|
|
<desc>Increase field of view.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.increase()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="90">
|
|
<name>Z</name>
|
|
<desc>Decrease Visibility</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>decrease-visibility</command>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="91">
|
|
<name>[</name>
|
|
<desc>Decrease flaps.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(-1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="93">
|
|
<name>]</name>
|
|
<desc>Increase flaps.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.flapsDown(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="97">
|
|
<name>a</name>
|
|
<desc>Increase speed-up.</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/speed-up</property>
|
|
<min>1</min>
|
|
<step type="double">1</step>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="98">
|
|
<name>b</name>
|
|
<desc>Apply all brakes.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyBrakes(1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.applyBrakes(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="99">
|
|
<name>c</name>
|
|
<desc>Toggle 3D/2D cockpit</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if(getprop("/sim/allow-toggle-cockpit")) {
|
|
setprop("/sim/current-view/internal", !getprop("/sim/current-view/internal"));
|
|
setprop("/sim/view/internal", getprop("/sim/current-view/internal"));
|
|
setprop("/sim/virtual-cockpit", !getprop("/sim/virtual-cockpit"));
|
|
if(getprop("/sim/current-view/internal")) {
|
|
setprop("/sim/current-view/heading-offset-deg", getprop("/sim/current-view/config/heading-offset-deg"));
|
|
setprop("/sim/current-view/pitch-offset-deg", getprop("/sim/current-view/config/pitch-offset-deg"));
|
|
} else {
|
|
setprop("/sim/current-view/heading-offset-deg", 0);
|
|
setprop("/sim/current-view/pitch-offset-deg", 0);
|
|
}
|
|
}
|
|
</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="103">
|
|
<name>g</name>
|
|
<desc>Gear Up.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.gearDown(-1)</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.gearDown(0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="104">
|
|
<name>h</name>
|
|
<desc>HUD Master Switch</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>aircraft.HUD.cycle_color()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="105">
|
|
<name>i</name>
|
|
<desc>Normal HUD</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>aircraft.HUD.normal_type()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="106">
|
|
<name>j</name>
|
|
<desc>Decrease spoilers.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.stepSpoilers(-1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="107">
|
|
<name>k</name>
|
|
<desc>Increase spoilers.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.stepSpoilers(1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="108">
|
|
<name>l</name>
|
|
<desc>Toggle tail-wheel lock.</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/controls/gear/tailwheel-lock</property>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="109">
|
|
<name>m</name>
|
|
<desc>Mixture richer.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.adjMixture(1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="110">
|
|
<name>n</name>
|
|
<desc>Propeller Finer.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.adjPropeller(1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="112">
|
|
<name>p</name>
|
|
<desc>Toggle the pause state of the sim.</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/sim/freeze/master</property>
|
|
</binding>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/sim/freeze/clock</property>
|
|
</binding>
|
|
<binding>
|
|
<condition>
|
|
<property>/sim/freeze/replay-state</property>
|
|
</condition>
|
|
<command>property-assign</command>
|
|
<property>/sim/freeze/replay-state</property>
|
|
<value type="int">0</value>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="114">
|
|
<name>r</name>
|
|
<desc>Activate the instant replay system.</desc>
|
|
<binding>
|
|
<command>replay</command>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="115">
|
|
<name>s</name>
|
|
<desc>Fire Starter on Selected Engine(s)</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.startEngine()</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>props.setAll("/controls/engines/engine", "starter", 0)</script>
|
|
</binding>
|
|
</mod-up>
|
|
<mod-shift>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>gui.property_browser()</script>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<nasal>
|
|
<script>
|
|
t_id = 0;
|
|
</script>
|
|
</nasal>
|
|
|
|
<key n="116">
|
|
<name>t</name>
|
|
<desc>Increase warp delta.</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/time/warp-delta</property>
|
|
<step type="int">30</step>
|
|
</binding>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
(func(x) {
|
|
settimer(func {
|
|
x == t_id or return;
|
|
gui.popupTip("resetting warp");
|
|
setprop("/sim/time/warp-delta", 0);
|
|
}, 1, 1)
|
|
})(t_id += 1)
|
|
</script>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>t_id += 1</script>
|
|
</binding>
|
|
</mod-up>
|
|
</key>
|
|
|
|
<key n="118">
|
|
<name>v</name>
|
|
<desc>Scroll through views.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.stepView(1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="119">
|
|
<name>w</name>
|
|
<desc>Increase warp.</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/time/warp</property>
|
|
<step type="int">60</step>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="120">
|
|
<name>x</name>
|
|
<desc>Decrease field of view.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.decrease()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="122">
|
|
<name>z</name>
|
|
<desc>Increase Visibility</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>increase-visibility</command>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="123">
|
|
<name>{</name>
|
|
<desc>Decrease Magneto on Selected Engine</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.stepMagnetos(-1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="125">
|
|
<name>}</name>
|
|
<desc>Increase Magneto on Selected Engine</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.stepMagnetos(1)</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="126">
|
|
<name>~</name>
|
|
<desc>Select all engines</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.selectAllEngines()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="257">
|
|
<name>F1</name>
|
|
<mod-shift>
|
|
<desc>Load flight.</desc>
|
|
<binding>
|
|
<command>load</command>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="258">
|
|
<name>F2</name>
|
|
<desc>Force tile cache reload.</desc>
|
|
<binding>
|
|
<command>tile-cache-reload</command>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Save flight.</desc>
|
|
<binding>
|
|
<command>save</command>
|
|
<write-all>false</write-all>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="259">
|
|
<name>F3</name>
|
|
<desc>Capture screen.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
fgcommand("screen-capture");
|
|
var file = getprop("/sim/last-screenshot");
|
|
if(file == "")
|
|
gui.popupTip("Error writing screenshot");
|
|
else
|
|
gui.popupTip("Screenshot written to " ~ file);
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Load panel.</desc>
|
|
<binding>
|
|
<command>panel-load</command>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="260">
|
|
<name>F4</name>
|
|
<desc>Force lighting update.</desc>
|
|
<binding>
|
|
<command>lighting-update</command>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Reload global preferences.</desc>
|
|
<binding>
|
|
<command>preferences-load</command>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="261">
|
|
<name>F5</name>
|
|
<repeatable type="bool">true</repeatable>
|
|
<mod-shift>
|
|
<desc>Scroll panel down</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/panel/y-offset</property>
|
|
<step type="int">-5</step>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="262">
|
|
<name>F6</name>
|
|
<desc>Toggle Autopilot Heading Mode</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
prop = "/autopilot/locks/heading";
|
|
curr = getprop(prop);
|
|
if(curr == "true-heading-hold") { setprop(prop, ""); }
|
|
else { setprop(prop, "true-heading-hold"); }
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Scroll panel up</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/panel/y-offset</property>
|
|
<step type="int">5</step>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="263">
|
|
<name>F7</name>
|
|
<repeatable type="bool">true</repeatable>
|
|
<mod-shift>
|
|
<desc>Scroll panel left</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/panel/x-offset</property>
|
|
<step type="int">-5</step>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="264">
|
|
<name>F8</name>
|
|
<desc>Cycle fog type</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-cycle</command>
|
|
<property>/sim/rendering/fog</property>
|
|
<value>fastest</value>
|
|
<value>nicest</value>
|
|
<value>disabled</value>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Scroll panel right</desc>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/sim/panel/x-offset</property>
|
|
<step type="int">5</step>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="265">
|
|
<name>F9</name>
|
|
<desc>Toggle textures.</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/sim/rendering/textures</property>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Toggle FDM data logging.</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/sim/temp/fdm-data-logging</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="266">
|
|
<name>F10</name>
|
|
<desc>Toggle menubar</desc>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/sim/menubar/visibility</property>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Switch to next GUI style.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>gui.nextStyle()</script>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="267">
|
|
<name>F11</name>
|
|
<desc>Pop up autopilot dialog</desc>
|
|
<binding>
|
|
<command>dialog-show</command>
|
|
<dialog-name>autopilot</dialog-name>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="269">
|
|
<name>Enter</name>
|
|
<desc>Move rudder right.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/rudder</property>
|
|
<step type="double">0.05</step>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="309">
|
|
<name>Keypad 5</name>
|
|
<desc>Center aileron, elevator, and rudder.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>controls.centerFlightControls()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="356">
|
|
<name>Left</name>
|
|
<desc>Move aileron left (or adjust AP heading.)</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incAileron(-0.05, -1.0)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look left.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/left-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="357">
|
|
<name>Up</name>
|
|
<desc>Increase elevator or autopilot altitude.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incElevator(0.05, -100)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look forward.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/front-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="358">
|
|
<name>Right</name>
|
|
<desc>Move aileron right (or adjust AP heading.)</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incAileron(0.05, 1.0)
|
|
</script>
|
|
<step type="double">0.05</step>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="359">
|
|
<name>Down</name>
|
|
<desc>Decrease elevator or autopilot altitude.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incElevator(-0.05, 100)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look backwards.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/back-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="360">
|
|
<name>PageUp</name>
|
|
<desc>Increase throttle or autopilot autothrottle.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incThrottle(0.01, 1.0)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look front right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/front-right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="361">
|
|
<name>PageDown</name>
|
|
<desc>Decrease throttle or autopilot autothrottle.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
controls.incThrottle(-0.01, -1.0)
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look back right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/back-right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="362">
|
|
<name>Home</name>
|
|
<desc>Increase elevator trim.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/elevator-trim</property>
|
|
<step type="double">0.001</step>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look front left.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/front-left-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="363">
|
|
<name>End</name>
|
|
<desc>Decrease elevator trim.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/elevator-trim</property>
|
|
<step type="double">-0.001</step>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look back left.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/back-left-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="364">
|
|
<name>Insert</name>
|
|
<desc>Move rudder left.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>/controls/flight/rudder</property>
|
|
<step type="double">-0.05</step>
|
|
</binding>
|
|
</key>
|
|
|
|
</PropertyList>
|
|
|
|
<!-- end of keyboard.xml -->
|