580 lines
14 KiB
XML
580 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
|
|
<!-- This simulates a Bendix/King KLN94 GPS
|
|
|
|
Nasal and XML 2013 James Turner
|
|
Model, Texture and Animations 2023 Benedikt Wolf
|
|
|
|
-->
|
|
|
|
<PropertyList>
|
|
|
|
<path>kln94.ac</path>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>ent-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.enter();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/enter-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/enter-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>ent-btn</object-name>
|
|
<property>instrumentation/kln94[0]/enter-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>crsr-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.toggleCursorMode();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/cursor-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/cursor-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>crsr-btn</object-name>
|
|
<property>instrumentation/kln94[0]/cursor-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>nrst-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.nearestButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/nearest-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/nearest-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>nrst-btn</object-name>
|
|
<property>instrumentation/kln94[0]/nearest-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>dto-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.directTo();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/direct-to-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/direct-to-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>dto-btn</object-name>
|
|
<property>instrumentation/kln94[0]/direct-to-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>obs-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.obsButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/obs-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/obs-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>obs-btn</object-name>
|
|
<property>instrumentation/kln94[0]/obs-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>msg-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.messageButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/message-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/message-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>msg-btn</object-name>
|
|
<property>instrumentation/kln94[0]/message-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>proc-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.procedureButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/procedure-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/procedure-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>proc-btn</object-name>
|
|
<property>instrumentation/kln94[0]/procedure-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>alt-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.altitudeButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/altitude-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/altitude-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>alt-btn</object-name>
|
|
<property>instrumentation/kln94[0]/altitude-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>clr-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.clearButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/clear-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/clear-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>clr-btn</object-name>
|
|
<property>instrumentation/kln94[0]/clear-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>mnu-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.menuButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/menu-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/menu-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>mnu-btn</object-name>
|
|
<property>instrumentation/kln94[0]/menu-btn</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x> 0.966</x> <!-- cos(15 deg) -->
|
|
<y>-0.259</y> <!-- -sin(15 deg) -->
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>rng-btn</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.rangeButton( 1 );</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
<action>
|
|
<button>1</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.rangeButton( -1 );</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>-1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>rng-btn-up</object-name>
|
|
<visible>0</visible>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.rangeButton( 1 );</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>rng-btn-down</object-name>
|
|
<visible>0</visible>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.rangeButton( -1 );</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>-1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>rotate</type>
|
|
<object-name>rng-btn</object-name>
|
|
<property>instrumentation/kln94[0]/range-btn</property>
|
|
<factor>-10</factor>
|
|
<center>
|
|
<x-m>0.0142</x-m>
|
|
<y-m>0.046</y-m>
|
|
<z-m>0.0108</z-m>
|
|
</center>
|
|
<axis>
|
|
<x>0.259</x> <!-- sin(15 deg) -->
|
|
<y>0.966</y> <!-- cos(15 deg) -->
|
|
</axis>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>knob</type>
|
|
<object-name>knob-inner</object-name>
|
|
<property>instrumentation/kln94[0]/inner-knob</property>
|
|
<factor>1</factor>
|
|
<center>
|
|
<y-m> 0.063 </y-m>
|
|
<z-m> -0.009 </z-m>
|
|
</center>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
<action>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.innerKnob(cmdarg().getNode('offset').getValue());</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>instrumentation/kln94[0]/inner-knob</property>
|
|
<factor>5</factor>
|
|
<min>0</min>
|
|
<max>359</max>
|
|
<wrap>1</wrap>
|
|
</binding>
|
|
</action>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>knob</type>
|
|
<object-name>knob-outer</object-name>
|
|
<property>instrumentation/kln94[0]/outer-knob</property>
|
|
<factor>1</factor>
|
|
<center>
|
|
<y-m> 0.063 </y-m>
|
|
<z-m> -0.009 </z-m>
|
|
</center>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
<action>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.outerKnob(cmdarg().getNode('offset').getValue());</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>instrumentation/kln94[0]/outer-knob</property>
|
|
<factor>5</factor>
|
|
<min>0</min>
|
|
<max>359</max>
|
|
<wrap>1</wrap>
|
|
</binding>
|
|
</action>
|
|
</animation>
|
|
|
|
|
|
<animation>
|
|
<type>knob</type>
|
|
<object-name>knob-brightness</object-name>
|
|
<property>/instrumentation/kln94/brightness-norm</property>
|
|
<factor>270</factor>
|
|
<center>
|
|
<y-m> -0.0605 </y-m>
|
|
<z-m> -0.014 </z-m>
|
|
</center>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
<action>
|
|
<binding>
|
|
<command>property-adjust</command>
|
|
<property>instrumentation/kln94/brightness-norm</property>
|
|
<factor>0.05</factor>
|
|
<min>0</min>
|
|
<max>1</max>
|
|
<wrap>false</wrap>
|
|
</binding>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>knob-brightness-push</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>KLN94.kln94.powerButton();</script>
|
|
</binding>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/power-brightness-knob</property>
|
|
<value>1</value>
|
|
</binding>
|
|
<mod-up>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>instrumentation/kln94[0]/power-brightness-knob</property>
|
|
<value>0</value>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>knob-brightness</object-name>
|
|
<object-name>knob-brightness-push</object-name>
|
|
<property>instrumentation/kln94[0]/power-brightness-knob</property>
|
|
<factor>-0.001</factor>
|
|
<axis>
|
|
<x>1</x>
|
|
</axis>
|
|
</animation>
|
|
|
|
</PropertyList>
|