This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Keyboard shortcut" – news ·newspapers ·books ·scholar ·JSTOR(December 2010) (Learn how and when to remove this message) |
Incomputing, akeyboard shortcut (alsohotkey/hot key orkey binding)[1] is asoftware-based assignment of an action to one or more keys on a computer keyboard. Mostoperating systems andapplications come with adefault set of keyboard shortcuts, some of which may be modified by theuser in thesettings.
Keyboard configuration software allows users to create and assignmacros to key combinations which can perform more complex sequences of actions. Some older keyboards had a physicalmacro key specifically for this purpose.
The precise words used for these assignments and their meaning can vary depending on the context.
For example, Microsoft has generally usedkeyboard shortcuts forWindows[2] andMicrosoft Office[3] since the transition to64-bit for Windows 7. However, they usedhot keys prior to that and continue to do so in their32-bitAPI for developing 'classic desktop apps'.[4][5][6] Meanwhile, Lenovo and ASUS each have keyboard configuration software made for Windows that are named "LenovoHotkeys"[7] and "ASUS KeyboardHotkeys"[7] respectively.
The assignment process is referred to asmapping the actions to the keys, and changing them afterwards is thereforeremapping.[8][9] The assigned action is then said to bebound to the key, leading to the phrasekey binding being used interchangeably with shortcut and hotkey.[10]
As otherinput devices became increasingly configurable in the early 2000's, the termshortcut began to be used to refer to what are essentially keyboard shortcuts being mapped to objects that are not keyboard keys. The most prevalent of these arecomputer mice, which went from only having two buttons for left and right clicks to having additional buttons on the around the side, top, and back of the mice (2-4 for common usage and up to 12 extraprogrammable buttons for certain types of gaming uses).[11]
AsInternet of things (IoT) devices continue to proliferate,shortcuts are appearing in many other device types such aselectronic keyboards,home automation devices,wearable technology, and more.
Human-computer interaction experts also continue to design new types of shortcuts altogether, such asgestures ontouchscreens and touchless interfaces.
Keyboard shortcuts are typically a means for invoking one or more commands using thekeyboard that would otherwise be accessible only through amenu, apointing device, different levels of auser interface, or via acommand-line interface. Keyboard shortcuts are generally used to expedite common operations by reducing input sequences to a fewkeystrokes, hence the term "shortcut".[12]
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 orIBM Lotus Freelance Graphics. Other keyboard shortcuts usefunction keys that are dedicated for use in shortcuts and may only require a single keypress. For simultaneous keyboard shortcuts, one usually first holds down themodifier 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 theEsc 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 mostGUIs, a program's keyboard shortcuts arediscoverable 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,[13] 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.
When shortcuts are referred to askey 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.[14] This highlights a difference in philosophy regarding shortcuts. Some systems, typicallyend-user-oriented systems such asMac OS orWindows, 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.[15] Other systems, typicallyUnix 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 ofsacred 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.[16] More advanced users may customize key bindings to better suit theirworkflow, adding shortcuts for their commonly used actions and possibly deleting or replacing bindings for less-used functions.[17]Hardcore gamers often customize their key bindings in order to increase performance via faster reaction times.
The original MacintoshUser Interface Guidelines defined a set of keyboard shortcuts that would remain consistent across application programs.[18] This provides a betteruser experience than the then-prevalent situation of applications using the same keys for different functions. This could result inuser errors if one program used⌘ Command+D to meanDelete while another used it toDuplicate an item. The standard bindings were:
Later environments such as Microsoft Windows retain some of these bindings, while adding their own from alternate standards likeCommon User Access. The shortcuts on these platforms (or onmacOS) 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.[21]
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 <F1>. 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 "Ctrl+C". The Ctrl key is sometimes indicated by a caret character (^). ThusCtrl-C is sometimes written as ^C. At times, usually onUnix platforms, the case of the second character is significant – if the character would normally require pressing theShift key to type, then the Shift key is part of the shortcut e.g. '^C' vs. '^c' or '^%' vs. '^5'. ^% may also be written "Ctrl+⇧Shift+5".
Some keyboard shortcuts, including all shortcuts involving theEsc 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. TheEmacs text editor uses many such shortcuts, using a designated set of "prefix keys" such asCtrl+C orCtrl+X. Default Emacs keybindings includeCtrl+XCtrl+S to save a file orCtrl+XCtrl+B to view a list of openbuffers. Emacs uses the letter C to denote the Ctrl key, the letter S to denote theShift key, and the letter M to denote theMeta key (commonly mapped to theAlt key on modern keyboards.) Thus, in Emacs parlance, the above shortcuts would be written C-x C-s and C-x C-b. A commonbackronym for Emacs is "Escape Meta Alt Ctrl Shift", poking fun at its use of many modifiers and extended shortcut sequences.
Emacs does not assign meanings to keys directly. Instead, Emacs assigns meanings to named commands, and then gives keys their meanings by binding them to commands.
If your app does not perform the task associated with a recommended shortcut, think very carefully before you consider overriding it. Remember that although reassigning an unused shortcut might make sense in your app, your users are likely to know and expect the original, established meaning.