One idea is to only bind keys to flight controls and autopilot on/off.  All 
other stuffs should be done similar to what you do on your desktop.  For 
example, say you want to toggle a switch and then turn a nob clockwise to 
change the settings of a certain system, what you should be required to do 
are:
1.  Click on the panel, or use shortcut keys to set focus to the panel that is 
associated with the particular system.  Depending on what the system is (ie. 
CDU), key bindings to the primary flight control should be disabled 
temporarily.
2.  Tab, Tab, Tab... (as many times as you need to set focus on a control)
3.  Press Space/Enter to toggle the button/switch on and off (both keys have 
the same function)
4.  Repeat step 2.
5.  Press + to turn the nob clockwise (and - to turn the nob anti-clockwise)

If the user click on somewhere else, or no input is given within a few 
seconds, then the panel automatically lose focus and key bindings to flight 
control is restored (redunduncy: if the latter is already restored, restore 
it again).

Key bindings should also be idiot proof.  For example, binding an alphabetical 
key to toggle trust reverse will not be a bright idea.  Instead, thrust 
reverse and throttle decrease should share the same key, except that thrust 
reverse will only be available when:
- The thrust level is at 0
- Ctrl+Shift is being hold
- Aircraft's attitude and airspeed is below a certain point

If the above conditions are not met, then pressing Ctrl+Shift+PageDown would 
be the same as pressing PageDown.

Key bindings like the above have the benefits of binding the same key to 
similar actions (landing), as well as preventing accidents from occuring 
(thrust reverse being deployed in midair).

Another way of making things idiot proof is to bind additional keys to certain 
actions.  For example, ESC key lose focus on all controls, and HOME key turn 
the camera forward *inaddition* to losing focus on all controls.

Regards,
Ampere

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to