# Control key

In computing, a Control key Ctrl is a modifier key which, when pressed in conjunction with another key, performs a special operation (for example, Ctrl+C). Similarly to the Shift key, the Control key rarely performs any function when pressed by itself. The Control key is located on or near the bottom left side of most keyboards (in accordance with the international standard ISO/IEC 9995-2), with many featuring an additional one at the bottom right.
On keyboards that use English abbreviations for key labeling, it is usually labeled Ctrl (Control or Ctl are sometimes used, but it is uncommon). Abbreviations in the language of the keyboard layout also are in use, e.g., the German keyboard layout uses Strg as required by the German standard DIN 2137:2012-06. There is a standardized keyboard symbol (to be used when Latin lettering is not preferred). This symbol is encoded in Unicode as U+2388 helm symbol ⎈, but it is very rarely used.

## History

On teletypewriters and computer terminals, holding down the Control key while pressing another key would send an ASCII C0 control character, instead of directly reporting a key press to the system. The control characters were used as non-printing characters that signal the terminal or teletypewriter to perform a special action, such as ringing a bell, ejecting a page or erasing the screen, or controlling where the next character will display.
The first 32 ASCII characters are the control characters, representable by a 5-bit binary number. Because ASCII characters were represented as 7 bits, if a key is pressed while the Control key was held down, teletypewriters and terminals would simply set the first 2 bits of a character to 0, converting the character into a control character. For example, the character "a" has a binary ASCII code of 110 0001. This code would be converted to 000 0001, corresponding to the ASCII character with id 1 (the SOH Character). The table at C0 and C1 control codes § C0 controls shows the ASCII control characters, with the "Caret notation" column showing a caret (^), followed by the character to press while the Control key is held down to generate the character.
If a teletypewriter or terminal is connected to a computer, the software on the computer can interpret control characters it receives however it is written to do so; a given control character can be interpreted differently from how it would be interpreted by a teletypewriter or terminal that receives it. For example, Control-C, received from a teletypewriter or terminal, is interpreted as "interrupt the current program" in some command-line interfaces, and Control-E is interpreted by the Emacs text editor as "move the editor cursor to the end of the line".
Computer keyboards directly attached to a computer, as is the case for a personal computer or workstation, distinguish each physical key from every other and report all keypresses and releases to the controlling software. This allows the software to interpret Control key combinations as it chooses, including being able to interpret a combination of the Control key, another modifier key, and a letter, number, or symbol key differently from the way it interprets a combination of the Control key and the letter, number, or symbol key without that other modifier key.

## Location

The keyboards of many early computer terminals, including the Teletype Model 33 ASR and Lear-Siegler ADM-3A, and early models of the IBM PC, positioned the Control key on the left of the keyboard, whereas caps lock resides in the same position on most modern keyboards. The traditional layout was preserved for later workstation systems and is often associated with Unix workstations. Keyboards from Sun Microsystems came in two layouts; "Unix" and "PC-style", with the Unix layout having the traditional placing of the Control key and other keys. The keyboards produced for One Laptop Per Child computers also have the Control key in this location. Other vendors produce keyboards for different computer systems with this placement of the Control key, such as the Happy Hacking Keyboard.
Some users of keyboards with caps lock on the left remap the keys to exchange Control and caps lock, finding the traditional location more ergonomic for using programs benefiting from use of the Control key. Keyboard layout preferences specifically to address this need are available in some operating systems.
Others leave the control key in the lower-left corner of the keyboard, and press it using the side of their palm. The choice of location for the control key often comes down to the typist's hand shape and posture.

## Notation

There are several common notations for pressing the Control key in conjunction with another key. Each notation below means press and hold Ctrl while pressing the X key:
| ^X | Traditional caret notation |
| C-x | Emacs and Vim notation |
| CTRL-X | Old Microsoft notation |
| Ctrl+X | Current Microsoft notation |
| Ctrl/X | OpenVMS notation |
| ⌃X | Classic Mac OS and macOS notation, used in menus and Sticky Keys (similar to caret notation, but using U+2303 ⌃ UP ARROWHEAD instead of a caret) |
| Control–X | Classic Mac OS and macOS notation, used in prose |
| CNTL/X | Cisco IOS notation |
| |X | Bar notation |

## Table of examples

Different application programs, user interfaces, and operating systems use the various control key combinations for different purposes.
| Key combination | Microsoft Windows/KDE/GNOME | Unix (command line and programs using readline) | Emacs (if different from Unix command line) |
| Ctrl+A | Select all | Beginning of line | Beginning of line |
| Ctrl+B | Bold | Backward one character | Backward one character |
| Ctrl+C | Copy | Generate SIGINT (terminate program) | Compound command |
| Ctrl+D | Font window (word processing); Add to bookmarks (Browsers) | Forward delete, or if line is empty, end of input (traditional Unix) | Forward delete |
| Ctrl+E | Center alignment (word processing) | End of line | End of line |
| Ctrl+F | Find (usually a small piece of text in a larger document) | Forward one character | Forward one character |
| Ctrl+G | Go to (line number) | Abort current operation | Abort current operation |
| Ctrl+H | Replace; History | Delete previous character | Help key |
| Ctrl+I | Italic; Incremental search | Command-line completion (same as Tab key) | Command-line completion (same as Tab key) |
| Ctrl+J | Justify; Downloads | Line feed (LFD) | LFD (to evaluate Lisp expressions) |
| Ctrl+K | Insert hyperlink (word processing) | Cut ("Kill") text between cursor and end of line | Cut ("Kill") text between cursor and end of line |
| Ctrl+L | Create list; Left align (word processing) | Clear screen | Redraw window/terminal, and recenter view around current line |
| Ctrl+M | Increase margin by 1/2 inch (word processing) | Same as Enter key | Same as Enter key |
| Ctrl+N | New (window, document, etc.) | Next line (in history) | Next line |
| Ctrl+O | Open | Enter plus next line (in history) | Insert ("open") new line |
| Ctrl+P | Print | Previous line (in history) | Previous line |
| Ctrl+Q | Quit application | Resume transmission | Literal insert |
| Ctrl+R | Refresh page; Right align (word processing) | Search backwards in history | Search backwards |
| Ctrl+S | Save | Pause transmission | Search forward |
| Ctrl+T | Open new tab | Transpose characters, display status | Transpose characters, display status |
| Ctrl+U | Underline; HTML of page you are currently looking at | Cut text between beginning of line and cursor | Prefix numerical argument to next command |
| Ctrl+V | Paste | Literal insert | Page down |
| Ctrl+W | Close window or tab | Cut previous word | Cut |
| Ctrl+X | Cut | Compound command | Compound command |
| Ctrl+Y | Redo | Paste | Paste |
| Ctrl+Z | Undo | Suspend program | Iconify window |
| Ctrl+⇧ Shift+Z | Redo | not available | not available |
| Ctrl+[ | Decrease font size | Same as Esc or Alt | Same as Esc or Alt |
| Ctrl+] | Increase font size | Search for the next character typed | undefined or rarely used |
| Ctrl+= | Toggle font subscript | not available | not available |
| Ctrl+⇧ Shift+= | Toggle font superscript | not available | not available |
| Ctrl+End | Bottom (end of document or window) | undefined or rarely used | Bottom (end of text buffer) |
| Ctrl+Home | Top (start of document or window) | undefined or rarely used | Top (start of text buffer) |
| Ctrl+Insert | Copy | undefined or rarely used | Copy |
| Ctrl+PgDn | Next tab | undefined or rarely used | Scroll window to the right |
| Ctrl+PgUp | Previous tab | undefined or rarely used | Scroll window to the left |
| Ctrl+Tab ↹ | Next window or tab | not available | not available |
| Ctrl+⇧ Shift+Tab ↹ | Previous window or tab | not available | not available |
| Ctrl++ | Zoom in on window | not available | not available |
| Ctrl+- | Zoom out on window | Undo | Undo |
| Ctrl+0 | Restore window to default zoom factor | not available | not available |
| Ctrl+/ | undefined or rarely used | Same as Ctrl+- (Undo) | Same as Ctrl+- (Undo) |
| Ctrl+\ | undefined or rarely used | Generate SIGQUIT (terminate and dump core) | undefined or rarely used |
| Ctrl+← | Previous word | undefined or rarely used | Previous word |
| Ctrl+→ | Next word | undefined or rarely used | Next word |
| Ctrl+Del | Delete next word | undefined or rarely used | Delete next word |
| Ctrl+← Backspace | Delete previous word | undefined or rarely used | Delete previous word |
| Ctrl+Alt+← Backspace | undefined or rarely used on Windows; restart X11 on Unix-like desktops | undefined or rarely used | undefined or rarely used |
| Ctrl+Alt+↑ | Rotate screen right-side up | undefined or rarely used | undefined or rarely used |
| Ctrl+Alt+↓ | Rotate screen upside down | undefined or rarely used | undefined or rarely used |
| Ctrl+Alt+← | Rotate screen left | undefined or rarely used | undefined or rarely used |
| Ctrl+Alt+→ | Rotate screen right | undefined or rarely used | undefined or rarely used |
| Ctrl+⇧ Shift+Esc | Open task manager | not available | not available |
| Ctrl+Alt+Del | Reboot; Open task manager or session options | not available | not available |
| Ctrl+Mousewheel | Scroll in/out | | |
In early first-person shooters, the left Ctrl key is often used to fire a weapon. In newer games, the key is often used for crouching instead.

## Similar concepts

Generally, the Command key, labeled with the ⌘ symbol on Apple Macintosh computers, performs the equivalent functions in classic Mac OS and macOS applications (for example, ⌘C copies, while ⌘P prints; the same holds for saving, cutting, and pasting).
Macintoshes also have a Control key, but it has different functionality. The original Apple mouse design reduced complexity by only offering one button. As the interface developed, contextual menus were offered to access extra options. Another button was needed to access these. On Unix and Windows, the user had other mouse buttons to use. On Classic Mac OS and macOS, the Control key is used to invoke a "right-click". Apple calls this a "secondary click" as left-handers can choose which side this button is on.
* It is mostly used as a modifier key for key-combinations.
* Pressing Control and clicking the mouse button will invoke a contextual menu. This is a compatibility feature for users with one-button mice; users with two-button mice just use the right mouse-button, with no modifiers.
* It is used in the command line interface with programs made for that interface.
* In Quickbooks, the Control Key is used to validate login credentials during OLSU 1016 and OLSU 1013 errors. Keeping it depressed while sending information to the Quickbooks servers fixes the errors.
* Under macOS, the Control key allows the use of Emacs-style key combinations in most text entry fields. For example, Ctrl-A moves the caret to the start of the paragraph, Ctrl-L vertically centers the current line in the editing field, Ctrl-K cuts text to the end of the line to a kill ring separate from the normal clipboard, etc.