Keyboard function priority list: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 33: Line 33:
I think by this logic a shortcut with *no* modifiers is even easier to access,  
I think by this logic a shortcut with *no* modifiers is even easier to access,  
and that's an argument in *favour* of such change :)</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40853.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}}
and that's an argument in *favour* of such change :)</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40853.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}}
{{cquote|<nowiki>this actually shows a larger problem. Obviously it isn't too
uncommon for aircraft to disable or override specific menu items -
mainly affects menu items for the radio stack and autopilot.
Unfortunately all of this is done using fixed menu item positions -
e.g. 5th menu, 3rd item... So any change of the menu item ordering
currently breaks lots of planes. And obviously the recent menubar
overhaul has done just that.
We'll need to adapt all the aircraft using such hacks to the changed
menu structure. And might need to think about a better solution to
avoid future problems of this kind.</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg30166.html|title=<nowiki></nowiki>|author=<nowiki></nowiki>|date=<nowiki></nowiki>}}</ref>|<nowiki></nowiki>}}


<references/>
<references/>

Revision as of 14:18, 29 September 2013

Request for Comments:
Cquote1.png My point of view is that the current keybindings file is a mess, with many historical bindings, and also it binds in the ASCII space, as opposed to the scan code space, so we can't distinguish keypad vs normal number keys, and various other combinations, even though osgViewer supports that.

My *personal* feeling is that unless it's something the > 50% of users use *each flight*, it shouldn't be a keybinding. So flaps, trim, CDI/HSI heading, fine, but things to change view distance or FoV seem unnecessary to me.

The other issue is the keybindings are effectively 'full' (we can't easily add more), because they've been added and added over the years, but rarely removed, so at this point every key 'does something', but often something quite obscure.

What I'd like to see is the entire 'Ctrl' (Command on Mac) space reserved for GUI functions, like a normal application - Ctrl-Q for quit, Ctrl-M for map dialog, Ctrl-A for autopilot dialog, Ctrl-R for replay dialog (or radios dialog :) - then have a complete discussion about which key-bindings make sense on

the main keyboard. This is basically a usability discussion, so everyone will have strong opinions :)[1]
— James Turner
Cquote2.png
Cquote1.png A separate step, much harder to make happen, would be to explicitly reserve the Ctrl (Command on Mac) keybinding space for menu/non-aircraft keyboard shortcuts. I would really like to do this so we can have user-friendly key-bindings for dialogs and standard items, such as Ctrl-Q to quit, Ctrl-A for autopilot dialog, Ctrl-P for pause, Ctrl-R for reply, etc. [And the entire normal key / key + shift / key+alt ranges available FOR aircraft functions, of course) The problem is right now we have aircraft using Ctrl- shortcuts for many things (usually because they're the only choice), and I can't decide a sane way to migrate to this split without lots of breakage and frustration. Any ideas welcome.[2]
Cquote2.png
Cquote1.png the problem is the OSs have already decreed that Ctrl (Command on Mac) is the standard shortcut key, so lots of Ctrl-something have standard meanings which FlightGear deviates from. Though we escape the worst of it since we don't support file or edit operations. Keep in mind if the GUI things such as dialogs were moved to Ctrl-blah, that frees up lots of normal keys for use, which are currently taken up by simulator things. While I agree Ctrl is probably the easiest modifier to access (except maybe shift, since there's two, so it's more friendly for left-handed people), I think by this logic a shortcut with *no* modifiers is even easier to access, and that's an argument in *favour* of such change :)[3]
Cquote2.png
Cquote1.png this actually shows a larger problem. Obviously it isn't too uncommon for aircraft to disable or override specific menu items - mainly affects menu items for the radio stack and autopilot. Unfortunately all of this is done using fixed menu item positions - e.g. 5th menu, 3rd item... So any change of the menu item ordering currently breaks lots of planes. And obviously the recent menubar overhaul has done just that. We'll need to adapt all the aircraft using such hacks to the changed menu structure. And might need to think about a better solution to avoid future problems of this kind.[4]
Cquote2.png


  1. James Turner (Sun, 03 Mar 2013). Keyboard bindings.
  2.  (). .
  3.  (). .
  4.  (). .

As a first step in the keyboard refactoring, we need to come up with a prioritized list of functions that (a) are general enough to apply to most (or at least many) aircraft, and (b) are important enough to justify a keyboard shortcut rather than just a menu/dialog or a model hotspot.

Feel free to add to the list, but please don't delete anything — just move it to the bottom if you don't think it's important.

As we'll probably not want to change too many existing key-bindings, The current CVS key-binding is also listed in brackets.

  • Program
    • Pause P
    • Exit Esc
    • Show/Hide menu F10
  • Primary flight controls
    • ailerons / , 4 / 6
    • elevator / , 8 / 2
    • rudder 0 / Enter, Insert
    • centre controls 5
  • Primary powerplant
    • throttle — for helicopters, should the same key control the collective? 3 / 9, Page up / Page down
    • Winch / Aerotow (begin winching, open hitch etc)
  • View controls
    • view reset Ctrl+V
    • look left/right Shift+4 / Shift+6
    • look up/down
    • look forward/backwad Shift+8 / Shift+2
    • zoom in/out X / Shift+X
    • change view type — e.g. cockpit, chase plane, tower, etc. V / Shift+V
  • Secondary flight controls
    • flaps extend/retract [ / ]
    • landing gear raise/retract G / Shift+G
    • elevator trim up/down 1 / 7, Home / End
    • speed brakes extend/retract Ctrl+B
    • spoilers extend/retract J / K
    • slats extend/retract
    • toggle tailwheel lock 1
    • differential toe brakes left/right , / .
    • parking brake Shift+B
    • drag chute deploy/jettison
    • aileron trim left/right
    • rudder trim left/right
  • Secondary powerplant
    • mixture — piston aircraft only Shit+M / M
    • propeller — some piston aircraft only Shift+N / N
    • carburettor heat — some piston aircraft only
    • magneto/ignition selection { / }
    • Select engines ~ / @ / ! / # / $ (Note: These keys are problematic on some keyboard layouts, e.g. Swedish where IIRC '~', '@' and'$' are at inconvenient locations. Is there a way to capture number key + shift instead of whatever "strange" symbol the English keyboard layout maps to that key?)
  • Autopilot
    • engage/disengage
    • toggle heading mode Ctrl+H
    • toggle altitude mode Ctrl+A
    • toggle wing leveller Ctrl+W
    • toggle speed mode (auto-throttle) Ctrl+S
    • autotrim engage/disengage
  • Comms
    • open/close text based chat console
    • PTT switch Space
    • active/standby com/nav channel swap
  • Weapons
    • fire primary weapon
    • fire secondary weapon
    • select secondary weapon
    • jettison store
  • Miscellaneous
    • hoist deploy (helicopters)
    • hoist up/down
    • hoist jettison
    • water/cargo release
    • carrier launch bar engage
    • carrier catapult release
    • hook up/down (compatible A/C all modern jet fighters have a hook)
    • canopy toggle
    • seat up/down/default

Things that don't require key bindings:

  • throw turkey out of window (Les Nessman only)
  • change viewing styles (dynamic view and g-force based view where supported)