zkv1000 / pfd.xml /
Sébastien MARQUE adds GPS OBS mode
7e8d979 3 years ago
1 contributor
1579 lines | 46.119kb
<?xml version="1.0" encoding="UTF-8"?>

<PropertyList>

  <path>Models/GDU-104X.ac</path>

  <animation>
    <type>material</type>
    <object-name>screw.000</object-name>
    <object-name>screw.001</object-name>
    <object-name>screw.002</object-name>
    <object-name>screw.003</object-name>
    <object-name>Lamp1</object-name>
    <object-name>Lamp2</object-name>
    <object-name>Lamp3</object-name>
    <object-name>Lamp4</object-name>
    <texture-prop>texture</texture-prop>
    <texture>Textures/GDU-104X.png</texture>
  </animation>

  <animation>
    <inherits-from>Effects/model-combined-deferred</inherits-from>
    <parameters>
      <lightmap-enabled type="int">1</lightmap-enabled>
      <lightmap-factor><use>instrumentation/zkv1000/lightmap</use></lightmap-factor>
      <texture n="3">
        <image>Textures/GDU-104X.lightmap.png</image>
      </texture>
    </parameters>
    <type>material</type>
    <object-name>Panel</object-name>
    <object-name>AsSwitchNav</object-name>
    <object-name>NavOuter</object-name>
    <object-name>NavInner</object-name>
    <object-name>HDG</object-name>
    <object-name>AltOuter</object-name>
    <object-name>AltInner</object-name>
    <object-name>VolNAV</object-name>
    <object-name>VolCOM</object-name>
    <object-name>AsSwitchCOM</object-name>
    <object-name>ComOuter</object-name>
    <object-name>ComInner</object-name>
    <object-name>CRS</object-name>
    <object-name>BARO</object-name>
    <object-name>PAN</object-name>
    <object-name>PANUp</object-name>
    <object-name>PANLeft</object-name>
    <object-name>PANRight</object-name>
    <object-name>PANDown</object-name>
    <object-name>DirectTo</object-name>
    <object-name>MENU</object-name>
    <object-name>FPL</object-name>
    <object-name>PROC</object-name>
    <object-name>CLR</object-name>
    <object-name>ENT</object-name>
    <object-name>FmsOuter</object-name>
    <object-name>FmsInner</object-name>
    <object-name>SoftKey.000</object-name>
    <object-name>SoftKey.001</object-name>
    <object-name>SoftKey.002</object-name>
    <object-name>SoftKey.003</object-name>
    <object-name>SoftKey.004</object-name>
    <object-name>SoftKey.005</object-name>
    <object-name>SoftKey.006</object-name>
    <object-name>SoftKey.007</object-name>
    <object-name>SoftKey.008</object-name>
    <object-name>SoftKey.009</object-name>
    <object-name>SoftKey.010</object-name>
    <object-name>SoftKey.011</object-name>
    <object-name>AP.L0</object-name>
    <object-name>AP.L1</object-name>
    <object-name>AP.L2</object-name>
    <object-name>AP.L3</object-name>
    <object-name>AP.L4</object-name>
    <object-name>AP.L5</object-name>
    <object-name>AP.R0</object-name>
    <object-name>AP.R1</object-name>
    <object-name>AP.R2</object-name>
    <object-name>AP.R3</object-name>
    <object-name>AP.R4</object-name>
    <object-name>AP.R5</object-name>
    <object-name>Cover</object-name>
    <texture-prop>texture</texture-prop>
    <texture>Textures/GDU-104X.png</texture>
  </animation>

  <effect>
    <inherits-from>Effects/model-combined-deferred</inherits-from>
    <parameters>
      <lightmap-enabled type="int">1</lightmap-enabled>
      <lightmap-factor><use>instrumentation/zkv1000/lightmap</use></lightmap-factor>
      <texture n="3">
        <image>Textures/GDU-104X.lightmap.png</image>
      </texture>
    </parameters>
    <object-name>Panel</object-name>
    <object-name>AsSwitchNav</object-name>
    <object-name>NavOuter</object-name>
    <object-name>NavInner</object-name>
    <object-name>HDG</object-name>
    <object-name>AltOuter</object-name>
    <object-name>AltInner</object-name>
    <object-name>VolNAV</object-name>
    <object-name>VolCOM</object-name>
    <object-name>AsSwitchCOM</object-name>
    <object-name>ComOuter</object-name>
    <object-name>ComInner</object-name>
    <object-name>CRS</object-name>
    <object-name>BARO</object-name>
    <object-name>PAN</object-name>
    <object-name>PANUp</object-name>
    <object-name>PANLeft</object-name>
    <object-name>PANRight</object-name>
    <object-name>PANDown</object-name>
    <object-name>DirectTo</object-name>
    <object-name>MENU</object-name>
    <object-name>FPL</object-name>
    <object-name>PROC</object-name>
    <object-name>CLR</object-name>
    <object-name>ENT</object-name>
    <object-name>FmsOuter</object-name>
    <object-name>FmsInner</object-name>
    <object-name>SoftKey.000</object-name>
    <object-name>SoftKey.001</object-name>
    <object-name>SoftKey.002</object-name>
    <object-name>SoftKey.003</object-name>
    <object-name>SoftKey.004</object-name>
    <object-name>SoftKey.005</object-name>
    <object-name>SoftKey.006</object-name>
    <object-name>SoftKey.007</object-name>
    <object-name>SoftKey.008</object-name>
    <object-name>SoftKey.009</object-name>
    <object-name>SoftKey.010</object-name>
    <object-name>SoftKey.011</object-name>
    <object-name>AP.L0</object-name>
    <object-name>AP.L1</object-name>
    <object-name>AP.L2</object-name>
    <object-name>AP.L3</object-name>
    <object-name>AP.L4</object-name>
    <object-name>AP.L5</object-name>
    <object-name>AP.R0</object-name>
    <object-name>AP.R1</object-name>
    <object-name>AP.R2</object-name>
    <object-name>AP.R3</object-name>
    <object-name>AP.R4</object-name>
    <object-name>AP.R5</object-name>
    <object-name>Cover</object-name>
  </effect>

  <animation>
    <name>PFD</name>
    <object-name>Screen</object-name>
  </animation>

  <animation>
    <type>material</type>
    <object-name>Screen</object-name>
    <emission>
      <red>1</red>
      <green>1</green>
      <blue>1</blue>
      <factor-prop>instrumentation/zkv1000/display-brightness-norm</factor-prop>
    </emission>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>VolNAV</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-toggle</command>
        <property>/instrumentation/zkv1000/radios/nav-ident</property>
      </binding>
    </action>
  </animation>
  <animation>
    <type>knob</type>
    <object-name>VolNAV</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/radios/nav-volume</property>
        <factor>0.05</factor>
        <min>0</min>
        <max>1</max>
        <wrap>false</wrap>
      </binding>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AsSwitchNav</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.AsSwitchNAV();</script>
      </binding>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>NavInner</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-toggle</command>
        <property>/instrumentation/zkv1000/radios/nav-tune</property>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
        <script>
          zkv1000.setNavTune();
          var n = getprop('/instrumentation/zkv1000/radios/nav-tune');
          foreach (var c; keys(zkv1000.flightdeck))
            zkv1000.flightdeck[c].display.updateNAV({tune:n});
        </script>
      </binding>
    </action>
  </animation>
  <animation>
    <type>knob</type>
    <object-name>NavInner</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/radios/nav-freq-mhz</property>
        <factor>0.05</factor>
        <min>108.000</min>
        <max>118.000</max>
        <wrap>true></wrap>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          foreach (var c; keys(zkv1000.flightdeck))
            zkv1000.flightdeck[c].display.updateNAV({set:1});
        </script>
      </binding>
    </action>
    <shift-action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/radios/nav-freq-mhz</property>
        <factor>0.50</factor>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          foreach (var c; keys(zkv1000.flightdeck))
            zkv1000.flightdeck[c].display.updateNAV({set:1});
        </script>
      </binding>
    </shift-action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>HDG</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-assign</command>
        <property>/instrumentation/zkv1000/afcs/heading-bug-deg</property>
        <property>/orientation/heading-magnetic-deg</property>
      </binding>
    </action>
  </animation>
  <animation>
    <type>knob</type>
    <object-name>HDG</object-name>
    <property>/instrumentation/zkv1000/PFD/knobs/HDG</property>
    <center>
      <x-m>0.0025172 </x-m>
      <y-m>-0.1220634</y-m>
      <z-m>0.0169178 </z-m>
    </center>
    <axis>
      <x>1</x>
      <y>0</y>
      <z>0</z>
    </axis>
    <action>
      <binding>
       <command>property-adjust</command>
       <property>/instrumentation/zkv1000/PFD/knobs/HDG</property>
       <factor>10</factor>
       <min>0</min>
       <max>359</max>
       <wrap>true</wrap>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>property-adjust</command>
       <property>/instrumentation/zkv1000/afcs/heading-bug-deg</property>
       <factor>1</factor>
       <min>0</min>
       <max>359</max>
       <wrap>true</wrap>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          foreach (var c; keys(zkv1000.flightdeck))
            if (zkv1000.flightdeck[c].role == 'PFD')
              zkv1000.flightdeck[c].display.updateHDG();
        </script>
      </binding>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AltInner</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>zkv1000.flightdeck['PFD'].buttons.ALT();</script>
      </binding>
    </action>
  </animation>
  <animation>
    <type>knob</type>
    <object-name>AltInner</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>property-adjust</command>
       <property>/instrumentation/zkv1000/afcs/selected-alt-ft</property>
       <factor>10</factor>
       <min>0</min>
       <max>16000</max>
       <wrap>false</wrap>
      </binding>
    </action>
    <shift-action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>property-adjust</command>
       <property>/instrumentation/zkv1000/afcs/selected-alt-ft</property>
       <factor>100</factor>
      </binding>
    </shift-action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>VolCOM</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-toggle</command>
        <property>/instrumentation/zkv1000/comm-add-noise</property>
      </binding>
    </action>
  </animation>
  <animation>
    <type>knob</type>
    <object-name>VolCOM</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/radios/comm-volume</property>
        <factor>0.05</factor>
        <min>0</min>
        <max>1</max>
        <wrap>false</wrap>
      </binding>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AsSwitchCOM</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.AsSwitchCOM(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.AsSwitchCOM(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>ComInner</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-toggle</command>
        <property>/instrumentation/zkv1000/radios/comm-tune</property>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
        <script>
          zkv1000.setCommTune();
          var n = getprop('/instrumentation/zkv1000/radios/comm-tune');
          foreach (var c; keys(zkv1000.flightdeck))
            zkv1000.flightdeck[c].display.updateCOMM({tune:n});
        </script>
      </binding>
    </action>
  </animation>
  <animation>
    <type>knob</type>
    <object-name>ComInner</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/radios/comm-freq-mhz</property>
        <factor>0.025</factor>
        <min>118.000</min>
        <max>137.975</max>
        <wrap>true</wrap>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          foreach (var c; keys(zkv1000.flightdeck))
            zkv1000.flightdeck[c].display.updateCOMM({set:1});
        </script>
      </binding>
    </action>
    <shift-action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/radios/comm-freq-mhz</property>
        <factor>0.1</factor>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          foreach (var c; keys(zkv1000.flightdeck))
            zkv1000.flightdeck[c].display.updateCOMM({set:1});
        </script>
      </binding>
    </shift-action>
  </animation>

  <animation>
    <type>knob</type>
    <object-name>CRS</object-name>
    <property>/instrumentation/zkv1000/PFD/knobs/CRS</property>
    <center>
      <x-m>0.0038567</x-m>
      <y-m>0.1222390</y-m>
      <z-m>0.0171226</z-m>
    </center>
    <axis>
      <x>1</x>
      <y>0</y>
      <z>0</z>
    </axis>
    <action>
      <binding>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/PFD/knobs/CRS</property>
        <factor>10</factor>
        <min>0</min>
        <max>359</max>
        <wrap>true</wrap>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
          <not>
            <equals>
              <property>/instrumentation/zkv1000/cdi/source</property>
              <value>GPS</value>
            </equals>
            <equals>
              <property>/instrumentation/gps/mode</property>
              <value>obs</value>
            </equals>
          </not>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/zkv1000/cdi/course</property>
        <factor>1</factor>
        <min>0</min>
        <max>359</max>
        <wrap>true</wrap>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
          <equals>
            <property>/instrumentation/zkv1000/cdi/source</property>
            <value>GPS</value>
          </equals>
          <equals>
            <property>/instrumentation/gps/mode</property>
            <value>obs</value>
          </equals>
        </condition>
        <command>property-adjust</command>
        <property>/instrumentation/gps/selected-course-deg</property>
        <factor>1</factor>
        <min>0</min>
        <max>359</max>
        <wrap>true</wrap>
      </binding>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          foreach (var c; keys(zkv1000.flightdeck))
            if (zkv1000.flightdeck[c].role == 'PFD')
              zkv1000.flightdeck[c].display.updateCRS();
        </script>
      </binding>
    </action>
    <hovered>
      <binding>
        <command>set-tooltip</command>
        <tooltip-id>CRS</tooltip-id>
        <label>CRS</label>
      </binding>
    </hovered>
  </animation>

  <animation>
    <type>knob</type>
    <object-name>BARO</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>property-adjust</command>
       <property>/instrumentation/altimeter/setting-inhg</property>
       <factor>0.01</factor>
       <min>28.500</min>
       <max>33.000</max>
       <wrap>false</wrap>
      </binding>
    </action>
    <shift-action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>property-adjust</command>
       <property>/instrumentation/altimeter/setting-inhg</property>
       <factor>0.10</factor>
      </binding>
    </shift-action>
    <hovered>
      <binding>
        <command>set-tooltip</command>
        <tooltip-id>BARO</tooltip-id>
        <label>BARO</label>
      </binding>
    </hovered>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>PAN</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>zkv1000.flightdeck['PFD'].buttons.PAN({xdir: 1, ydir: 1});</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.PAN();</script>
        </binding>
      </mod-up>
    </action>
    <action>
      <button>3</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].knobs.PAN(1);</script>
      </binding>
    </action>
    <action>
      <button>4</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].knobs.PAN(-1);</script>
      </binding>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>PANUp</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.PAN({ydir: 1});</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.PAN();</script>
        </binding>
      </mod-up>
    </action>
  </animation>
  <animation>
    <type>pick</type>
    <object-name>PANLeft</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.PAN({xdir: -1});</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.PAN();</script>
        </binding>
      </mod-up>
    </action>
  </animation>
  <animation>
    <type>pick</type>
    <object-name>PANRight</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.PAN({xdir: 1});</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.PAN();</script>
        </binding>
      </mod-up>
    </action>
  </animation>
  <animation>
    <type>pick</type>
    <object-name>PANDown</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.PAN({ydir: -1});</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.PAN();</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>DirectTo</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.DirectTo(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.DirectTo(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>MENU</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.MENU(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.MENU(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>FPL</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.FPL(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.FPL(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>PROC</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.PROC(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.PROC(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>CLR</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].buttons.CLR(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.CLR(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>ENT</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>zkv1000.flightdeck['PFD'].buttons.ENT(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.ENT(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>knob</type>
    <object-name>FmsOuter</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          zkv1000.flightdeck['PFD'].knobs.FmsOuter_slowdown = zkv1000.flightdeck['PFD'].knobs.FmsOuter_slowdown + 1;
          if (math.mod(zkv1000.flightdeck['PFD'].knobs.FmsOuter_slowdown, 5) == 0)
            zkv1000.flightdeck['PFD'].knobs.FmsOuter(cmdarg().getNode('offset').getValue());
        </script>
      </binding>
    </action>
    <hovered>
      <binding>
        <command>set-tooltip</command>
        <tooltip-id>Outer FMS</tooltip-id>
        <label>Outer FMS</label>
      </binding>
    </hovered>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>FmsInner</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
         <command>nasal</command>
         <script>zkv1000.flightdeck['PFD'].buttons.FMS(1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].buttons.FMS(0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>
  <animation>
    <type>knob</type>
    <object-name>FmsInner</object-name>
    <action>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>
          zkv1000.flightdeck['PFD'].knobs.FmsInner_slowdown = zkv1000.flightdeck['PFD'].knobs.FmsInner_slowdown + 1;
          if (math.mod(zkv1000.flightdeck['PFD'].knobs.FmsInner_slowdown, 5) == 0)
            zkv1000.flightdeck['PFD'].knobs.FmsInner(cmdarg().getNode('offset').getValue());
        </script>
      </binding>
    </action>
    <hovered>
      <binding>
        <command>set-tooltip</command>
        <tooltip-id>Inner FMS</tooltip-id>
        <label>Inner FMS</label>
      </binding>
    </hovered>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.000</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
        <command>nasal</command>
        <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(0, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(0, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.001</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(1, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(1, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.002</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(2, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(2, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.003</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(3, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(3, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.004</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(4, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(4, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.005</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(5, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(5, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.006</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(6, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(6, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.007</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(7, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(7, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.008</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(8, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(8, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.009</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(9, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(9, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.010</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(10, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(10, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>SoftKey.011</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(11, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.flightdeck['PFD'].softkeys.SoftKey(11, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.L0</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('L', 0, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('L', 0, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.L1</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('L', 1, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('L', 1, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.L2</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('L', 2, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('L', 2, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.L3</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('L', 3, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('L', 3, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.L4</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('L', 4, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('L', 4, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.L5</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('L', 5, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('L', 5, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.R0</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('R', 0, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('R', 0, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.R1</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('R', 1, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('R', 1, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.R2</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('R', 2, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('R', 2, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.R3</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('R', 3, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('R', 3, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.R4</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('R', 4, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('R', 4, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>pick</type>
    <object-name>AP.R5</object-name>
    <action>
      <button>0</button>
      <binding>
        <condition>
          <property>/instrumentation/zkv1000/PFD/status</property>
        </condition>
       <command>nasal</command>
       <script>zkv1000.autopilot.softkey('R', 5, 1);</script>
      </binding>
      <mod-up>
        <binding>
          <condition>
            <property>/instrumentation/zkv1000/PFD/status</property>
          </condition>
          <command>nasal</command>
          <script>zkv1000.autopilot.softkey('R', 5, 0);</script>
        </binding>
      </mod-up>
    </action>
  </animation>

  <animation>
    <type>scale</type>
    <property>/instrumentation/zkv1000/size-factor</property>
    <x-factor>1</x-factor>
    <y-factor>1</y-factor>
    <z-factor>1</z-factor>
  </animation>

</PropertyList>