1
0
Fork 0
fgdata/Aircraft/Instruments-3d/kln94/kln94.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>