Proposal: Reserved keys for custom key bindings

From Audacity Wiki
Revision as of 14:34, 24 May 2013 by PeterSampson (talk | contribs) (A key advantage of the set of 4 I proposed is that they are standard keystrokes which don't vary with keyboard)
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.
Peter 23May13: ToDo-2 ready for editorial review & merciless editing and for voting.

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) do not offer any advice on key combinations that are available; 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

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, 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.


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 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.

Steve commented 23May13:

  • There may be some overriding case in the future for using a "reserved" combination, so I don't think that we can be entirely rigid on this. On the other hand, every developer, including amateurs such as myself, will be convinced that their case for using a reserved combination is fully justified.
  • Documenting the reserved character may not be straightforward because we are talking about keyboard layouts that are not standard UK/US layouts.

David Bailes commented by email 24May13:

  • If there are going to be shortcuts reserved for custom bindings, I don't think they should include these (the four in Peter's note above) - they may turn out to be very useful for audacity features which are introduced in the future, or when current features are made more keyboard accessible. They are standard keystrokes which don't vary with keyboard.

GUI Examples

Not required.

Previous Feature Requests relating to this proposal