As you may have noticed, I have a few times committed stuff to files called "multikey" in the last days. (Couldn't come up with something better sounding :-). I also posted to the list about it two and a half days ago, but this message didn't make it to the list yet. I expect that it will come in a few days or weeks, but in the meantime, here's an "update":
In a discussion about a desirable keyboard reorganization, John D. suggested vi-like keyboard commands that consist of more than one stroke: http://www.mail-archive.com/flightgear-devel%40lists.sourceforge.net/msg13356.html contains link to http://www.av8n.com/fly/fgfs/keys.txt This is now implemented as a pure Nasal solution with XML config in $FG_ROOT/Input/Keyboard/multikey.xml. I've used some of John's key combinations for testing purposes, and Tat has filled in a lot more. The config file looks like keyboard.xml, only that <key> entries can be nested. Like in vi, command sequences are always started with the ':'-key. After that there comes a key for the command group (a -> autopilot, e -> engines, f -> flight, r -> radio, etc.), Examples: :rc1f123.456 ||||____________________frequency |||_________________#1 ||_____________comm |_________radio :aht200 |||_________________true ||_____________heading |_________autopilot :e2m ---------------------> enter number or use CurUp/CurDn |||_________________mixture ||_____________2 |_________engine :4 -----------------------> execute Nasal-Console tab #4 The config is far from complete. Tat and I would like people to test the system and to help making the combinations intuitive and efficient. Patches are, of course, welcome. Here's a list of the currently available commands (courtesy of Tat, updated by me): # AutoPilot: ## Velocity Control avt<value> Enables "speed hold with throttle" at <value> knots avp<value> Enables "speed hold with pitch trim" at <value> knots av/ Disables speed hold ## Heading Control ahb<value> Enables "heading bug hold" aiming to <value> degree aht<value> Enables "True heading hold" aiming to <value> degree ahw Enables "Wing level hold" ahn Enables "Nav1 hold" ah/ Disables Heading control ## Pitch / Altitude Control (altitude stuff should probably use a, not p) apv<value> Sets vertical speed to <value> fpm app<value> Holds Pitch at <value> degree apo<value> Holds AoA at <value> degree apa<value> Holds Altitude at <value> feet apg<value> Holds AGL at <value> feet apn Holds Nav1 glide-slope ap/ Disable Pitch / Altitude control # Engine Controls (for all selected engines, or a particular engine) em<value or up/dn> Sets mixture to <value> (0.0 to 1.0) ep<value or up/dn> Sets propeller-pitch to <value> (0.0 to 1.0) et<value or up/dn> Sets throttle to <value> (0.0 to 1.0) e<value>m<val or u/d> Same as above, but only for one engine (:e3m0) e<value>p<val or u/d> e<value>t<val or u/d> # Flight Controls (trim values also changable with cursor keys) fa<value> Adjusts aileron by <value> (-2.0 to +2.0) fat<value> Adjusts aileron trim by <value> (-2.0 to +2.0) fat<left/right> Adjusts aileron trim continuously fe<value> Adjusts elevator by <value> (-2.0 to +2.0) fet<value> Adjusts elevator trim to <value> (-2.0 to +2.0); positive value nakes nose down) fet<up/down> Adjusts elevator trim continuously ; up arrow makes nose down fr<value> Adjusts rudder to <value> (-2.0 to +2.0) frt<left/right> Adjusts rudder trim continuously fia Initializes all trims (FIXME: more proper name...) # Radio Settings raf<value> Sets ADF frequency to <value> rc<1/2>f<value> Sets Comm<0/1> frequency to <value> rc<1/2>t Toggles Comm<0/1> selected / standby rn<1/2>f<value> Sets Nav<1/2> frequency to <value> rn<1/2>t Toggles Nav<0/1> selected / standby # Nasal Console <digit> Execute code from the Nasal-Console dialog's tab <value> # Environment ## Time Settings Etc Sets time to real clock time Etn Sets time to noon ## Weather Scenario Ewsf Sets weather scenario to "Fair weather" Ewsm Sets weather scenario to "METAR" (real weather fetch) Ewsn Sets weather scenario to "none" Ewst Sets weather scenario to "Thunderstorm" # View direction (just for demonstration purposes, will be removed) v<left/right/up/down> Changes view direction m. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel