Keyboard shortcut

In computing, a keyboard shortcut also known as hotkey is a series of one or several keys to quickly invoke a software program or perform a preprogrammed action. This action may be part of the standard functionality of the operating system or application program, or it may have been written by the user in a scripting language. Some integrated keyboards also include pointing devices; the definition of exactly what counts as a "key" sometimes differs.

The meaning of term "keyboard shortcut" can vary depending on software manufacturer. In Windows, hotkeys consists of a specific key combination used to trigger an action (these are usually system-wide shortcuts that are available in all contexts so long as receiving program is active); mnemonics represent a designated letter in a menu command or toolbar button that when pressed together with the Alt key, activates such command.

The term is generally associated with computer keyboards, but many electronic musical instruments now contain keyboards with advanced configuration options.

Description
Keyboard shortcuts are typically a means for invoking one or more commands using the keyboard that would otherwise be accessible only through a menu, a pointing device, different levels of a user interface, or via a command-line interface. Keyboard shortcuts are generally used to expedite common operations by reducing input sequences to a few keystrokes, hence the term "shortcut".

To differentiate from general keyboard input, most keyboard shortcuts require the user to press and hold several keys simultaneously or a sequence of keys one after the other. Unmodified key presses are sometimes accepted when the keyboard is not used for general input - such as with graphics packages e.g. Adobe Photoshop or IBM Lotus Freelance Graphics. Other keyboard shortcuts use function keys that are dedicated for use in shortcuts and may only require a single keypress. For simultaneous keyboard shortcuts, one usually first holds down the modifier key(s), then quickly presses and releases the regular (non-modifier) key, and finally releases the modifier key(s). This distinction is important, as trying to press all the keys simultaneously will frequently either miss some of the modifier keys, or cause unwanted auto-repeat. Sequential shortcuts usually involve pressing and releasing a dedicated prefix key, such as the Esc key, followed by one or more keystrokes.

Mnemonics are distinguishable from keyboard shortcuts. One difference between them is that the keyboard shortcuts are not localized on multi-language software but the mnemonics are generally localized to reflect the symbols and letters used in the specific locale. In most GUIs, a program's keyboard shortcuts are discoverable by browsing the program's menus – the shortcut is indicated next to the menu choice. There are keyboards that have the shortcuts for a particular application already marked on them. These keyboards are often used for editing video, audio, or graphics, as well as in software training courses. There are also stickers with shortcuts printed on them that can be applied to a regular keyboard. Reference cards intended to be propped up in the user's workspace also exist for many applications. In the past, when keyboard design was more standardized, it was common for computer books and magazines to print cards that were cut out, intended to be placed over the user's keyboard with the printed shortcuts noted next to the appropriate keys.

Customization
When shortcuts are referred to as key bindings, it carries the connotation that the shortcuts are customizable to a user's preference and that program functions may be 'bound' to a different set of keystrokes instead of or in addition to the default. This highlights a difference in philosophy regarding shortcuts. Some systems, typically end-user-oriented systems such as Mac OS or Windows, consider standardized shortcuts essential to the environment's ease of use. In these commercial proprietary systems, the ability to change the default bindings and add custom ones can be limited, possibly even requiring a separate or third-party utility to perform the task, sometimes with workarounds like key remapping. In macOS, user can customize app shortcuts ("Key equivalents") in system settings, and customize text editing shortcuts by creating and editing related configuration files. Other systems, typically Unix and related, consider shortcuts to be a user's prerogative, and that they should be customizable to suit individual preference. In most real-world environments, both philosophies co-exist; a core set of sacred shortcuts remain fixed while others, typically involving an otherwise unused modifier key or keys, are under the user's control.

The motivations for customizing key bindings vary. Users new to a program or software environment may customize the new environment's shortcuts to be similar to another environment with which they are more familiar. More advanced users may customize key bindings to better suit their workflow, adding shortcuts for their commonly used actions and possibly deleting or replacing bindings for less-used functions. Hardcore gamers often customize their key bindings in order to increase performance via faster reaction times.

"Sacred" keybindings
The original Macintosh User Interface Guidelines defined a set of keyboard shortcuts that would remain consistent across application programs. This provides a better user experience than the then-prevalent situation of applications using the same keys for different functions. This could result in user errors if one program used to mean Delete while another used it to Duplicate an item. The standard bindings were:
 * ⌘ Q : Quit
 * ⌘ W : Close Window
 * ⌘ B : Bold text
 * ⌘ I : Italicize text
 * ⌘ U : Underline text
 * ⌘ O : Open
 * ⌘ P : Print
 * ⌘ A : Select All
 * ⌘ S : Save
 * ⌘ F : Find
 * ⌘ G : Find Again (the G key is next to the F key on a QWERTY keyboard)
 * ⌘ Z : Undo (resembles the action of striking out a mistake)
 * ⌘ X : Cut (resembles scissors – and the X key is next to the C key on a QWERTY keyboard)
 * ⌘ C : Copy
 * ⌘ V : Paste (resembles an arrow pointing downward "into" the document, or a brush used for applying paste, as well as the proofreader's mark for "insert" – and the V key is next to the C key on a QWERTY keyboard)
 * ⌘ N : New Document
 * ⌘. (full stop): User interrupt, it can be used to close dialogs, search bars, and context menus.
 * ⌘ ? : Help (? signifies a question or confusion)

Later environments such as Microsoft Windows retain some of these bindings, while adding their own from alternate standards like Common User Access. The shortcuts on these platforms (or on macOS) are not as strictly standardized across applications as on the early Macintosh user interface, where if a program did not include the function normally carried out by one of the standard keystrokes, guidelines stated that it should not redefine the key to do something else as it would potentially confuse users.

Notation
The simplest keyboard shortcuts consist of only one key. For these, one generally just writes out the name of the key, as in the message "Press F1 for Help". The name of the key is sometimes surrounded in brackets or similar characters. For example: [F1] or &lt;F1&gt;. The key name may also be set off using special formatting (bold, italic, all caps, etc.)

Many shortcuts require two or more keys to be pressed simultaneously. For these, the usual notation is to list the keys names separated by plus signs or hyphens. For example: "Ctrl+C", "Ctrl-C", or "". The Ctrl key is sometimes indicated by a caret character (^). Thus Ctrl-C is sometimes written as ^C. At times, usually on Unix platforms, the case of the second character is significant – if the character would normally require pressing the Shift key to type, then the Shift key is part of the shortcut e.g. '^C' vs. '^c' or '^%' vs. '^5'. ^% may also be written "".

Some keyboard shortcuts, including all shortcuts involving the key, require keys (or sets of keys) to be pressed individually, in sequence. These shortcuts are sometimes written with the individual keys (or sets) separated by commas or semicolons. The Emacs text editor uses many such shortcuts, using a designated set of "prefix keys" such as or. Default Emacs keybindings include  to save a file or   to view a list of open buffers. Emacs uses the letter C to denote the Ctrl key, the letter S to denote the Shift key, and the letter M to denote the Meta key (commonly mapped to the Alt key on modern keyboards.) Thus, in Emacs parlance, the above shortcuts would be written C-x C-s and C-x C-b. A common backronym for Emacs is "Escape Meta Alt Ctrl Shift", poking fun at its use of many modifiers and extended shortcut sequences.