<?xml version="1.0"?> <PropertyList> <path>mCDU.ac</path> <!-- Requires 9V EFIS output power to use mCDU --> <animation> <type>select</type> <object-name>mCDU_init</object-name> <object-name>mCDU_data</object-name> <object-name>mCDU_radio</object-name> <object-name>mCDU_f-pln</object-name> <object-name>mCDU_tp</object-name> <object-name>mCDU_perf</object-name> <object-name>mCDU_prog</object-name> <object-name>mCDU_runways</object-name> <object-name>input</object-name> <object-name>s-pad-msg</object-name> <object-name>s-pad-warn</object-name> <object-name>input</object-name> <object-name>msg</object-name> <object-name>start</object-name> <object-name>CLR_SYM</object-name> <object-name>OVFLY_SYM</object-name> <condition> <and> <greater-than-equals> <property>/systems/electrical/outputs/efis</property> <value>9</value> </greater-than-equals> <not> <equals> <property>/instrumentation/mcdu/brt</property> <value>0</value> </equals> </not> </and> </condition> </animation> <animation> <type>select</type> <object-name>OVFLY_SYM</object-name> <condition> <property>/instrumentation/mcdu/overfly-mode</property> </condition> </animation> <animation> <type>select</type> <object-name>CLR_SYM</object-name> <condition> <property>/instrumentation/mcdu/clear-mode</property> </condition> </animation> <animation> <type>select</type> <object-name>s-pad-msg</object-name> <condition> <and> <not> <property>/instrumentation/mcdu/s-pad-warn-level</property> </not> <not> <property>/instrumentation/mcdu/hide-message</property> </not> <not> <property>/instrumentation/mcdu/overfly-mode</property> </not> </and> </condition> </animation> <animation> <type>select</type> <object-name>s-pad-warn</object-name> <condition> <and> <property>/instrumentation/mcdu/s-pad-warn-level</property> <not> <property>/instrumentation/mcdu/hide-message</property> </not> <not> <property>/instrumentation/mcdu/overfly-mode</property> </not> </and> </condition> </animation> <animation> <type>select</type> <object-name>input</object-name> <condition> <property>/instrumentation/mcdu/hide-message</property> </condition> </animation> <!-- Input Text Brightness --> <animation> <type>material</type> <object-name>input</object-name> <object-name>s-pad-msg</object-name> <object-name>start</object-name> <object-name>msg</object-name> <object-name>CLR_SYM</object-name> <object-name>OVFLY_SYM</object-name> <emission> <red>1</red> <green>1</green> <blue>1</blue> <factor-prop>/instrumentation/mcdu/brt</factor-prop> </emission> </animation> <animation> <type>material</type> <object-name>s-pad-warn</object-name> <emission> <red>0.97</red> <green>0.6</green> <blue>0.05</blue> <factor-prop>/instrumentation/mcdu/brt</factor-prop> </emission> </animation> <animation> <type>select</type> <object-name>start</object-name> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>start</value> </equals> </condition> </animation> <model> <name>mCDU_init</name> <path>init/init.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>init</value> </equals> </condition> </model> <model> <name>mCDU_init</name> <path>init/deparr-src.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>FROM-TO_RESULTS</value> </equals> </condition> </model> <model> <name>mCDU_init</name> <path>init/init2.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>fuel-pred</value> </equals> </condition> </model> <model> <name>mCDU_data</name> <path>data/data1.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>data1</value> </equals> </condition> </model> <model> <name>mCDU_data</name> <path>data/data2.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>data2</value> </equals> </condition> </model> <model> <name>mCDU_data</name> <path>data/pos.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>POSITION-MONITOR</value> </equals> </condition> </model> <model> <name>mCDU_data</name> <path>data/irs.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>IRS-MONITOR</value> </equals> </condition> </model> <model> <name>mCDU_data</name> <path>data/gps.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>GPS-MONITOR</value> </equals> </condition> </model> <model> <name>mCDU_data</name> <path>data/status.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>STATUS</value> </equals> </condition> </model> <model> <name>mCDU_f-pln</name> <path>f-pln/f-pln.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>f-pln</value> </equals> </condition> </model> <model> <name>mCDU_f-pln</name> <path>f-pln/index_f1.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>index_f1</value> </equals> </condition> </model> <model> <name>mCDU_f-pln</name> <path>rev/lat_rev.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>lat_rev</value> </equals> </condition> </model> <model> <name>mCDU_f-pln2</name> <path>sec-f-pln/sec-f-pln.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>f-pln2</value> </equals> </condition> </model> <model> <name>mCDU_f-pln2</name> <path>sec-f-pln/init-sec.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>init-sec</value> </equals> </condition> </model> <model> <name>mCDU_radio</name> <path>rad-nav/radios.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>radio</value> </equals> </condition> </model> <model> <name>mCDU_tp</name> <path>tp-dep/rwys.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>RWY_SEL</value> </equals> </condition> </model> <model> <name>mCDU_tp</name> <path>tp-dep/sids.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>SID_SEL</value> </equals> </condition> </model> <model> <name>mCDU_tp</name> <path>tp-dep/confirm.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>SID_CONFIRM</value> </equals> </condition> </model> <model> <name>mCDU_tp</name> <path>tp-arr/rwys.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>ARR_RWY_SEL</value> </equals> </condition> </model> <model> <name>mCDU_tp</name> <path>tp-arr/stars.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>STAR_SEL</value> </equals> </condition> </model> <model> <name>mCDU_tp</name> <path>tp-arr/confirm.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>STAR_CONFIRM</value> </equals> </condition> </model> <model> <name>mCDU_perf</name> <path>perf/takeoff.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>perf</value> </equals> </condition> </model> <model> <name>mCDU_perf</name> <path>perf/clb.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>perf-clb</value> </equals> </condition> </model> <model> <name>mCDU_perf</name> <path>perf/crz.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>perf-crz</value> </equals> </condition> </model> <model> <name>mCDU_perf</name> <path>perf/des.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>perf-des</value> </equals> </condition> </model> <model> <name>mCDU_perf</name> <path>perf/app.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>perf-app</value> </equals> </condition> </model> <model> <name>mCDU_perf</name> <path>perf/ga.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>perf-ga</value> </equals> </condition> </model> <model> <name>mCDU_prog</name> <path>prog/prog.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>prog</value> </equals> </condition> </model> <model> <name>mCDU_f-pln</name> <path>hold/hold.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>hold</value> </equals> </condition> </model> <model> <name>mCDU_load</name> <path>f-pln/load.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>load_rtes</value> </equals> </condition> </model> <model> <name>mCDU_runways</name> <path>data/runways.xml</path> <condition> <equals> <property>/instrumentation/mcdu/page</property> <value>RUNWAYS</value> </equals> </condition> </model> <!-- Animations --> <animation> <type>pick</type> <object-name>brt</object-name> <action> <button>0</button> <button>3</button> <repeatable type="bool">true</repeatable> <binding> <command>property-adjust</command> <property>/instrumentation/mcdu/brt</property> <wrap type="bool">false</wrap> <step>0.1</step> <min>0</min> <max>1</max> </binding> </action> <action> <button>1</button> <button>4</button> <repeatable type="bool">true</repeatable> <binding> <command>property-adjust</command> <property>/instrumentation/mcdu/brt</property> <wrap type="bool">false</wrap> <step>-0.1</step> <min>0</min> <max>1</max> </binding> </action> </animation> <animation> <type>rotate</type> <object-name>brt</object-name> <property>instrumentation/mcdu/brt</property> <factor>135</factor> <axis> <z>-1</z> </axis> <center> <x-m>-0.0055</x-m> <y-m>0.0463</y-m> </center> </animation> <!-- Common Buttons Pick Animations --> <!-- Pages --> <animation> <type>pick</type> <object-name>prog</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "prog"); # Reset BRG/DIST var ident = getprop("/instrumentation/mcdu/prog/ident"); if (ident != "empty") { var gps = "/instrumentation/gps/"; if (size(ident) == 4) setprop(gps~ "scratch/type", "airport"); elsif (size(ident) == 5) setprop(gps~ "scratch/type", "fix"); else setprop(gps~ "scratch/type", "vor"); setprop(gps~ "scratch/query", ident); setprop(gps~ "command", "search"); var brg = getprop("/instrumentation/gps/scratch/mag-bearing-deg"); var dist = getprop("/instrumentation/gps/scratch/distance-nm"); setprop("/instrumentation/mcdu/prog/brg", brg); setprop("/instrumentation/mcdu/prog/dist", dist); } </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>perf</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); var phase = getprop('flight-management/phase'); var page = 'perf'; if(phase == 'CLB') page = 'perf-clb' elsif(phase == 'CRZ') page = 'perf-crz'; elsif(phase == 'DES') page = 'perf-des'; elsif(phase == 'APP') page = 'perf-app'; elsif(phase == 'G/A') page = 'perf-ga'; setprop("/instrumentation/mcdu/page", page); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>dir</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "dir"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>init</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "init"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>data</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "data1"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>f-pln</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "f-pln"); setprop("/instrumentation/mcdu/f-pln/show-hold", 0); var first = getprop("/instrumentation/mcdu/f-pln/disp/first"); var cur = getprop("/instrumentation/mcdu/f-pln/disp/current-flightplan"); if(cur != 'temporary'){ mcdu.f_pln.update_flightplan_waypoints(); var from_idx = mcdu.f_pln.from_wpt_idx; var wp = mcdu.f_pln.waypoints[from_idx]; while(from_idx >= 0 and typeof(wp) == 'scalar' and wp == '---'){ from_idx -= 1; if(0 > from_idx) break; wp = mcdu.f_pln.waypoints[from_idx]; } if(0 > from_idx) from_idx = 0; setprop("/instrumentation/mcdu/f-pln/disp/first", from_idx); } mcdu.f_pln.update_disp(); var wp = mcdu.f_pln.first_displayed_wp(); if(wp != nil){ setprop("instrumentation/efis/inputs/plan-wpt-index", first); setprop("instrumentation/efis[1]/inputs/plan-wpt-index", first); } </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>f-pln2</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 1); setprop("/instrumentation/mcdu/page", "f-pln2"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>radio</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "radio"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>fuel-pred</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "fuel-pred"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>atc</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "atc"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>mcdu</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "menu"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>arpt</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> setprop('instrumentation/mcdu/sec-f-pln/disp', 0); setprop("/instrumentation/mcdu/page", "f-pln"); var num = getprop('autopilot/route-manager/route/num'); if(num == 0) return; var first = getprop("/instrumentation/mcdu/f-pln/disp/first"); mcdu.f_pln.update_flightplan_waypoints(); var cur_wp = getprop("autopilot/route-manager/current-wp"); #var dest_apt = getprop('autopilot/route-manager/destination/airport'); # var fp = mcdu.f_pln.get_current_flightplan(); var wpts = mcdu.f_pln.waypoints; var wpcount = size(wpts); var dest_idx = wpcount - 1; var dest_apt = fp.destination; if(dest_apt != nil) dest_apt = dest_apt.id; for(var idx = dest_idx; idx > 0; idx = idx - 1){ var wp = wpts[idx]; if(typeof(wp) == 'scalar') continue; if(wp.wp_role != 'approach') continue; if(wp.wp_type == 'runway' or wp.id == dest_apt){ dest_idx = idx; break; } } if(cur_wp == 0 or cur_wp == 1){ if(first == 0) first = dest_idx; else first = 0; } else { first = dest_idx; } setprop("/instrumentation/mcdu/f-pln/disp/first", first); setprop("/instrumentation/mcdu/f-pln/show-hold", 0); var first = getprop("/instrumentation/mcdu/f-pln/disp/first"); var hold = getprop("/flight-management/hold/wp_id") or 0; var hold_id = 0; if ((hold >= first) and (first + 4 > hold) and (hold != 0)) { setprop("/instrumentation/mcdu/f-pln/show-hold", 1); hold_id = (hold - first) + (first == 0); } setprop("/instrumentation/mcdu/f-pln/hold-id", hold_id); mcdu.f_pln.update_disp(); var wp = mcdu.f_pln.first_displayed_wp(); if(wp != nil){ setprop("instrumentation/efis/inputs/plan-wpt-index", first); setprop("instrumentation/efis[1]/inputs/plan-wpt-index", first); } </script> </binding> </action> </animation> <!-- Number Pad --> <animation> <type>pick</type> <object-name>1</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "1"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>2</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "2"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>3</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "3"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>4</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "4"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>5</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "5"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>6</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "6"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>7</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "7"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>8</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "8"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>9</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "9"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>.</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "."); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>0</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "0"); </script> </binding> </action> </animation> <!-- +/- --> <animation> <type>pick</type> <object-name>+/-</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; var inp_size = size(getprop(input)); if (inp_size == 0) setprop(input, "+"); if (inp_size != 0) { if ((substr(getprop(input), (inp_size - 1), 1) != "+") and (substr(getprop(input), (inp_size - 1), 1) != "-")) setprop(input, getprop(input) ~ "+"); elsif (substr(getprop(input), (inp_size - 1), 1) == "+") setprop(input, substr(getprop(input), 0, (inp_size - 1)) ~ "-"); elsif (substr(getprop(input), (inp_size - 1), 1) == "-") setprop(input, substr(getprop(input), 0, (inp_size - 1)) ~ "+"); } </script> </binding> </action> </animation> <!-- Alphabets --> <animation> <type>pick</type> <object-name>a</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "A"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>b</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "B"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>c</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "C"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>d</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "D"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>e</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "E"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>f</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "F"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>g</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "G"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>h</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "H"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>i</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "I"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>j</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "J"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>k</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "K"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>l</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "L"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>m</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "M"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>n</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "N"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>o</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "O"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>p</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "P"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>q</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "Q"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>r</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "R"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>s</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "S"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>t</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "T"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>u</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "U"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>v</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "V"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>w</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "W"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>x</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "X"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>y</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "Y"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>z</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "Z"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>/</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ "/"); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>sp</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; setprop(input, getprop(input) ~ " "); </script> </binding> </action> </animation> <animation> <type>pick</type> <object-name>overfly</object-name> <action> <button>0</button> <repeatable type="bool">false</repeatable> <binding> <command>property-toggle</command> <property>/instrumentation/mcdu/overfly-mode</property> </binding> <binding> <command>property-set</command> <property>/instrumentation/mcdu/clear-mode</property> <value>0</value> </binding> </action> </animation> <animation> <type>pick</type> <object-name>clr</object-name> <action> <button>0</button> <repeatable type="bool">true</repeatable> <binding> <command>nasal</command> <script> var input = "/instrumentation/mcdu/input"; var inp_size = size(getprop(input)); if(!inp_size){ var clr_mode = getprop('/instrumentation/mcdu/clear-mode') or 0; setprop('/instrumentation/mcdu/clear-mode', !clr_mode); setprop('/instrumentation/mcdu/overfly-mode', 0); setprop('/instrumentation/mcdu/s-pad-msg', ''); setprop('/instrumentation/mcdu/s-pad-warn-level', 0); } else { setprop(input, substr(getprop(input), 0, inp_size - 1)) } </script> </binding> </action> </animation> <!-- Input OSGText --> <text> <name>input</name> <offsets> <x-m>-0.0196</x-m> <y-m>-0.046</y-m> <z-m>-0.0006</z-m> <heading-deg>90</heading-deg> </offsets> <alignment>left-center</alignment> <axis-alignment>xy-plane</axis-alignment> <type type="string">text-value</type> <format type="string">%s</format> <property>/instrumentation/mcdu/input</property> <truncate type="bool">false</truncate> <font type="string">courier-bold.txf</font> <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.003</character-size> <font-resolution> <width type="int">32</width> <height type="int">32</height> </font-resolution> </text> <text> <name>s-pad-msg</name> <offsets> <x-m>-0.0196</x-m> <y-m>-0.046</y-m> <z-m>-0.0006</z-m> <heading-deg>90</heading-deg> </offsets> <alignment>left-center</alignment> <axis-alignment>xy-plane</axis-alignment> <type type="string">text-value</type> <format type="string">%s</format> <property>/instrumentation/mcdu/s-pad-msg</property> <truncate type="bool">false</truncate> <font type="string">courier-bold.txf</font> <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.003</character-size> <font-resolution> <width type="int">32</width> <height type="int">32</height> </font-resolution> </text> <text> <name>s-pad-warn</name> <offsets> <x-m>-0.0196</x-m> <y-m>-0.046</y-m> <z-m>-0.0006</z-m> <heading-deg>90</heading-deg> </offsets> <alignment>left-center</alignment> <axis-alignment>xy-plane</axis-alignment> <type type="string">text-value</type> <format type="string">%s</format> <property>/instrumentation/mcdu/s-pad-msg</property> <truncate type="bool">false</truncate> <font type="string">courier-bold.txf</font> <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.003</character-size> <font-resolution> <width type="int">32</width> <height type="int">32</height> </font-resolution> </text> <text> <name>CLR_SYM</name> <offsets> <x-m>-0.0196</x-m> <y-m>-0.046</y-m> <z-m>-0.0006</z-m> <heading-deg>90</heading-deg> </offsets> <alignment>left-center</alignment> <axis-alignment>xy-plane</axis-alignment> <type type="string">literal</type> <text>CLR</text> <font type="string">courier-bold.txf</font> <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.003</character-size> <font-resolution> <width type="int">32</width> <height type="int">32</height> </font-resolution> </text> <text> <name>CLR_SYM</name> <offsets> <x-m>-0.0196</x-m> <y-m>-0.046</y-m> <z-m>-0.0006</z-m> <heading-deg>90</heading-deg> </offsets> <alignment>left-center</alignment> <axis-alignment>xy-plane</axis-alignment> <type type="string">literal</type> <text>CLR</text> <font type="string">courier-bold.txf</font> <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.003</character-size> <font-resolution> <width type="int">32</width> <height type="int">32</height> </font-resolution> </text> <text> <name>OVFLY_SYM</name> <offsets> <x-m>-0.0196</x-m> <y-m>-0.046</y-m> <z-m>-0.0006</z-m> <heading-deg>90</heading-deg> </offsets> <alignment>left-center</alignment> <axis-alignment>xy-plane</axis-alignment> <type type="string">literal</type> <text>D</text> <font type="string">symbol.txf</font> <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.003</character-size> <font-resolution> <width type="int">32</width> <height type="int">32</height> </font-resolution> </text> </PropertyList>