<?xml version="1.0"?>

<PropertyList>

   <key n="1">
    <name>Ctrl-A</name>
    <desc>Toggle autopilot altitude lock.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.aptogglealtitudeexport();</script>
    </binding>
    <binding>
     <command>property-toggle</command>
     <property>/instrumentation/generic/click</property>
    </binding>
   </key>

   <key n="4">
    <name>CTRL-D</name>
    <desc>Disconnect autopilot</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.apdisableexport();</script>
    </binding>
    <binding>
     <command>property-toggle</command>
     <property>/instrumentation/generic/click</property>
    </binding>
   </key>

   <key n="5">
    <name>Ctrl-E</name>
    <desc>Toggle engineer view.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.seatsystem.viewexport("engineer");</script>
    </binding>
   </key>

   <key n="7">
    <name>Ctrl-G</name>
    <desc>Toggle autopilot glide slope lock.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.aptoggleglideexport();</script>
    </binding>
    <binding>
     <command>property-toggle</command>
     <property>/instrumentation/generic/click</property>
    </binding>
   </key>

   <key n="8">
    <name>Ctrl-H</name>
    <desc>Toggle autopilot heading lock.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.aptoggleheadingexport();</script>
    </binding>
    <binding>
     <command>property-toggle</command>
     <property>/instrumentation/generic/click</property>
    </binding>
   </key>

   <key n="9">
    <name>Ctrl-I</name>
    <desc>Menu</desc>
    <binding>
     <command>dialog-show</command>
     <dialog-name>747-200-menu</dialog-name>
    </binding>
   </key>

   <key n="10">
    <name>Ctrl-J</name>
    <desc>Toggle copilot view.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.seatsystem.viewexport("copilot");</script>
    </binding>
   </key>

   <key n="11">
    <name>Ctrl-K</name>
    <desc>Toggle observer view.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.seatsystem.viewexport("observer");</script>
    </binding>
   </key>

   <key n="14">
    <name>Ctrl-N</name>
    <desc>Toggle autopilot nav1 lock.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.aptogglevorlocexport();</script>
    </binding>
    <binding>
     <command>property-toggle</command>
     <property>/instrumentation/generic/click</property>
    </binding>
   </key>

   <key n="16">
    <name>Ctrl-P</name>
    <desc>Toggle autopilot pitch hold (disabled).</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.disabledexport();</script>
    </binding>
   </key>

   <key n="18">
    <name>Ctrl-R</name>
    <desc>Radio dialog.</desc>
    <binding>
     <command>dialog-show</command>
     <dialog-name>747-200-radios</dialog-name>
    </binding>
   </key>

   <key n="19">
    <name>Ctrl-S</name>
    <desc>Toggle auto-throttle lock.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autothrottlesystem.attoggleexport();</script>
    </binding>
    <binding>
     <command>property-toggle</command>
     <property>/instrumentation/generic/click</property>
    </binding>
   </key>

   <key n="20">
    <name>Ctrl-T</name>
    <desc>Toggle autopilot altitude hold.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.aptogglealtitudeholdexport();</script>
    </binding>
    <binding>
     <command>property-toggle</command>
     <property>/instrumentation/generic/click</property>
    </binding>
   </key>

   <key n="22">
    <name>Ctrl-V</name>
    <desc>Select initial view (view 0).</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.seatsystem.viewexport("captain");</script>
    </binding>
   </key>

   <key n="23">
    <name>Ctrl-W</name>
    <desc>Toggle autopilot wing-lever (disabled).</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.autopilotsystem.disabledexport();</script>
    </binding>
   </key>

   <key n="24">
    <name>Ctrl-X</name>
    <mod-shift>
     <desc>Restore floating view</desc>
     <binding>
      <command>nasal</command>
      <script>globals.Boeing747.seatsystem.restoreexport();</script>
     </binding>
    </mod-shift>
   </key>

   <key n="86">
    <name>V</name>
    <desc>Scroll in reverse through views.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.seatsystem.scrollreverseexport();</script>
    </binding>
   </key>

   <key n="106">
    <name>j</name>
    <desc>Decrease spoilers.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.flightsystem.spoilersexport(-1)</script>
    </binding>
   </key>

   <key n="107">
    <name>k</name>
    <desc>Increase spoilers.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.flightsystem.spoilersexport(1)</script>
    </binding>
   </key>

   <key n="113">
    <name>q</name>
    <desc>reset speed-up.</desc>
    <binding>
     <command>property-assign</command>
     <property>/sim/speed-up</property>
     <value>1</value>
    </binding>
   </key>

   <key n="118">
    <name>v</name>
    <desc>Cycle view</desc>
    <desc>Scroll through views.</desc>
    <binding>
     <command>nasal</command>
     <script>globals.Boeing747.seatsystem.scrollexport();</script>
    </binding>
   </key>

   <key n="356">
    <name>Left</name>
    <desc>Move aileron left or adjust AP heading or move floating view left.</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.movewidthexport(-0.01) ) {
           # default
           controls.incAileron(-0.05, -1.0)
       }
     </script>
    </binding>
   </key>

   <key n="357">
    <name>Up</name>
    <desc>Increase elevator or move floating view front.</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.movelengthexport(-0.01) ) {
           if( !globals.Boeing747.autopilotsystem.adjustexport(1.0) ) {
               # default
               controls.incElevator(0.05, -100);
           }
       }
     </script>
    </binding>
   </key>

   <key n="358">
    <name>Right</name>
    <desc>Move aileron right or adjust AP heading or move floating view right.</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.movewidthexport(0.01) ) {
           # default
           controls.incAileron(0.05, 1.0)
       }
     </script>
    </binding>
   </key>

   <key n="359">
    <name>Down</name>
    <desc>Decrease elevator or move floating view aft.</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.movelengthexport(0.01) ) {
           if( !globals.Boeing747.autopilotsystem.adjustexport(-1.0) ) {
               # default
               controls.incElevator(-0.05, 100);
           }
       }
     </script>
    </binding>
   </key>

   <key n="360">
    <name>PageUp</name>
    <desc>Increase throttle or move floating view up.</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.moveheightexport(0.01) ) {
           # default
           controls.incThrottle(0.01, 1.0);
       }
     </script>
    </binding>
   </key>

   <key n="361">
    <name>PageDown</name>
    <desc>Decrease throttle or move floating view down.</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.moveheightexport(-0.01) ) {
           # default
           controls.incThrottle(-0.01, -1.0);
       }
     </script>
    </binding>
   </key>

   <key n="362">
    <name>Home</name>
    <desc>Increase elevator trim or move floating view front (fast)</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.movelengthexport(-0.1) ) {
           if( !globals.Boeing747.autopilotsystem.adjustexport(0.1) ) {
               # default
               trim = getprop("/controls/flight/elevator-trim");
               trim = trim + 0.001;
               setprop("/controls/flight/elevator-trim",trim);
           }
       }
     </script>
    </binding>
   </key>

   <key n="363">
    <name>End</name>
    <desc>Decrease elevator trim or move floating view aft (fast)</desc>
    <repeatable type="bool">true</repeatable>
    <binding>
     <command>nasal</command>
     <script>
       if( !globals.Boeing747.seatsystem.movelengthexport(0.1) ) {
           if( !globals.Boeing747.autopilotsystem.adjustexport(-0.1) ) {
               # default
               trim = getprop("/controls/flight/elevator-trim");
               trim = trim - 0.001;
               setprop("/controls/flight/elevator-trim",trim);
           }
       }
     </script>
    </binding>
   </key>

</PropertyList>
