Proposal: Reserved keys for custom key bindings
|Proposal pages help us get from feature requests into actual plans. This page is a proposal to reserve a set of special keys/key combinations for a user's custom key bindings.|
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.
- Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.
Audacity has a large number of pre-defined keyboard shortcuts. This makes it hard for users to find suitable free unassigned keys or key combinations to use for their custom key bindings.
The documentation (Manual and Wiki) only lists keys and key combinations that are already assigned - they do not offer any advice on, or listings of key combinations that are available, making it an arduous task to search out available keys or key combinations
- Peter 28May13: No I'm saying that the Manual does not document available keys only lists the used keys. I have changed the text, is that better?
- Gale 28May13: Yes, crystal clear now. But do we really want to document available keys and maintain that list, even on Wiki? The information would be platform-specific with Windows users having the largest number of available keys and Mac least. Also we wouldn't mention numpad keys as integrated computers tend not to have them, but Desktop users could add numpad keys. This makes the list complicated to explain. Improving Keyboard Prefs so you can sort the list of commands would arguably be just as good.
Audacity cannot easily be used to ascertain sets of available unassigned keystrokes.
Furthermore, any currently unassigned key/key combination that a user chooses to use may subsequently become an Audacity assigned key binding, thus potentially invalidating the user's previous setting and forcing them to search for an alternative key binding. This is definitely sub-optimal as the user is likely to have used their custom binding many times and learnt it well.
Permanently reserve a set of special keys/key combinations for a user's custom key bindings. That would save us a lot of problems and provide users with some easy to find, always available key combinations.
Another advantage of having reserved bindings for user's use is that we can document these in the manual for readers.
- One way to ascertain available bindings is to scan Keyboard Shortcut Reference. This is a far from easy and short task.
- Trial and error: an alternative is to just to attempt to bind keys or key combinations in Audacity Edit > Preferences > Keyboard but this is no easy task either and can also be time consuming.
A number of keystroke combinations between five and nine to be permanently set-aside for user's custom bindings. This number should be sufficient and is based on Miller's Law "The Magical Number Seven Plus or Minus Two" - see: this Wikipedia page.
The reserved custom bindings should be for keys that are common to all keyboards.
- Steve's original proposal differed, stating: "perhaps we should reserve special keys that vary on non uk/us keyboards for users"
The dialog in Edit > Preferences > Keyboard to identify which Keys are reserved for a user's custom key bindings.
Ideally a mechanism should be provided within Audacity to lock such keys/key combinations so that future developers cannot assign them as default bindings.
Documentation to be updated on Keyboard Preferences listing the reserved available keys/key combinations.
Ctrl+Alt+letter as a combination has ten available combinations currently. On the top row a there is a string of 6: W, E, R, T, Y, U and two groups of two on the second row A, S and F, G. There are also Z, B, N on the bottom row.
Function keys F7 and F8 are also still available.
Alt+Up, Alt+Down, Alt+Right, Alt+Left.
A key advantage if this set is that they are standard keystrokes which don't vary with keyboard.I have also recommended the availability of this group to several users on the forum - so I would vote strongly for reserving at least these four.
Previous Feature Requests relating to this proposal