Proposal: Reserved keys for custom key bindings

From Audacity Wiki
Revision as of 13:03, 28 May 2013 by PeterSampson (talk | contribs) (added Steve's original proposal: "perhaps we should reserve special keys that vary on non uk/us keyboards for users")
Jump to: navigation, search
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.

The Problem

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

Gale:28May13: I think the above is misleadingly phrased for someone who just scans the top of this page. By definition (as you point out below) any shortcuts not listed with mauve background on Keyboard Shortcut Reference are available. All you are saying is that the Manual does not list a feature that does not exist.
  • 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?

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.


Proposed Feature

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.


Developer/QA Backing

Peter Steve


Use Cases

  1. One way to ascertain available bindings is to scan Keyboard Shortcut Reference. This is a far from easy and short task.
  2. 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.


Details

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.

Peter 23May13:A handy group of four that I found when searching for a group I could use are:

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.


GUI Examples

TBP


Previous Feature Requests relating to this proposal

None.