Aircraft Control Language Note that the language is meant to be an "instantaneously decodable" code, i.e. trivial to parse left-to-right. In non-expert mode, there should be an indication on-screen where we are in the parser. For instance if you type "x" it says "radio" and then if you type "c" it says "comm". "*" means if you hold the key, the effect continues or repeats. Repeats are tricky for multi-key commands, which is why the keys u, d, l, and r require special treatment. For example, aarrrr gives us +4 units of aileron trim, while arrrlr gives us +2 net units of rudder trim. Therefore these four letters are _reserved_ and cannot be the first letter of any command in the language. # High-priority single-key commands: space *push-to-talk arrow-left arrow-right *stick left, right arrow-up arrow-down *stick fwd(not nose-up!), aft(not nose down!) - + *throttles less, more / *temporarily disengage mouse from yoke (to see how far out-of-trim we are) ctrl-G no-op aka cancel esc no-op aka cancel Note that ctrl-G _or any other single-key command_ cancels any parially-entered multi-key command, whereupon you start over at the root of the parser. # Special key tab show menu (or submenu) items available or hide menu if auto-menu-show was in effect # Engine menu eh0 eha all engines carb heat off, carb heat applied em0 e2ma all engines mixture off, engine 2 mixture 100% ep0 epa all engines prop rpm minimum, prop rpm max e1f0 e2fa engine 1 cowl flaps closed, engine 2 cowl flaps open e1t0 e2ta engine 1 throttle closed, engine 2 throttle 100% e1tu e2td *engine 1 throttle up a little, down a little e1i0 e1i1 e1i2 e1i3 engine 1 igniter or magneto none/left/right/both eb0 eb1 eba all engines boost pump off, low, high e1su *engine 1 starter (start "up") Note that where a digit is expected, "a" means either "all" or 10 out of 10 (which is consistent with the hex digit "a", so you can interpret it either way). # Radio menu xc1f123.00 comm 1 frequency xc1t comm 1 toggle standby <--> active xc1v5 rc1va comm 1 volume halfway, max xn2f116.10 nav 2 frequency xn2o060 nav 2 OBS 060 degrees xn1v rn1i nav 1 voice, ident filter xaf234 adf frequency Note we use "x" for radio, since "r" is reserved. The mnemonic is Rx/Tx for receive and transmit. Or maybe we could use capital R for Radio. # Airframe menu ab0 aba parking brake off, on ag0 aga gear retract, gear extend af0 af1 af2 afa flaps none, 10 degrees, 20 degrees, full as0 asa speedbrakes retract, speedbrakes extend arl arr *rudder trim left, right apu apd *pitch trim down, up aal aar *aileron trim left, right at0 ata tailwheel lock, unlock # Switch menu sm0 sm1 sm2 sm3 master switch off, alt?, batt, alt+batt sr0 sra radio master off, on sl0 sla landing light off, on st0 sta taxi light off, on sb0 sba rotating beacon off, on ss0 ssa strobes off, on sp0 sp5 spa panel lights off, halfway, full sd0 sda dome light off, on # view pan, tilt, zoom ??? # view shift L/R, up/down ???