Esc key



On computer keyboards, the Esc key (named Escape key in the international standard series ISO/IEC 9995) is a key used to generate the escape character (which can be represented as ASCII code 27 in decimal, Unicode U+001B, or ). The escape character, when sent from the keyboard to a computer, often is interpreted by software as "stop", "cancel" or "exit", and when sent from the computer to an external device (including many printers since the 1980s, computer terminals and Linux consoles, for example) marks the beginning of an escape sequence to specify operating modes or characteristics generally.

It is now generally placed at the top left corner of the keyboard, a convention dating at least to the original IBM PC keyboard, though the key itself originated decades earlier with teletypewriters.

Symbol


The keyboard symbol for the ESC key (which may be used when the usual Latin lettering "Esc" is not preferred for labelling the key) is standardized in ISO/IEC 9995-7 as symbol 29, and in ISO 7000 "Graphical symbols for use on equipment" as symbol ISO-7000-2029. This symbol is encoded in Unicode as U+238B (⎋).

Origins
The name of the equivalent key on some early Teletype Model 33 keyboards was labeled Alt Mode..., the alternative mode of operation causing the escapement to treat the following one character in a special way. Much later printers and computer terminals that would use escape sequences often would take more than one following byte as part of a special sequence.

Uses
As most computer users are no longer concerned with the details of controlling their computer's peripherals, the task for which the escape sequences were originally designed, the escape key was appropriated by application programmers, most often to mean Stop. This use continues today in Microsoft Windows's method of escape as a shortcut in dialog boxes for No, Quit, Exit, Cancel, or Abort, as well as a common shortcut key for the Stop button in many web browsers, and to cancel drag and drop operations.

On machines running Microsoft Windows, prior to the implementation of the Windows key on keyboards, the typical practice for invoking the "start" button was to hold down the Control key and press escape. This key combination still works as of Windows 10.

Microsoft Windows makes use of "Esc" for many key shortcuts. Many of these shortcuts have been present since Windows 3.0, through Windows XP and later.

In macOS, "Esc" usually closes or cancels a dialog box or sheet. The ++ combination opens the Force Quit dialog box, allowing users to end non-responsive applications. Another use for the Esc key, in combination with the Command key, is switching to Front Row, if installed.

In most computer games, the escape key is used as a pause button and/or as a way to bring up the in-game menu, usually containing ways to exit the program. This is despite the existence of a separate Pause/Break key.



In the vi family of text editors, escape is used to switch modes. This usage is due to escape being conveniently placed in what is now the tab position on the ADM-3A terminal keyboard used to develop vi, though it is now inconveniently placed. This is similar to how the extensive modifier keys in Emacs were easily used on the original keyboard (the space-cadet keyboard), being placed together, but these keys have now been spread around the keyboard, becoming more difficult to use.

The TECO editor uses ESCape as a delimiter when used once, and as an execute key when used twice in a row.

Escape sequences on KSR terminals
Old keyboard Send/Receive (KSR) printers, and visual display units (VDUs), would normally be controlled by escape sequences sent by the computer to the peripheral device, but there were situations where these devices could be used "off-line" with the keyboard effectively connected to the output device, and so the need could arise to type escape sequences "by hand" to control the peripheral. Although such devices are long out of use, standard processing of ANSI Escape sequences very similar to the 1970s VT100, is implemented in both ANSI.SYS and other more modern pseudo-terminal interfaces used in Unix-like environments, one example being Linux consoles, meaning newer, higher-level abstractions haven't changed the fact that typing the escape key followed by something like the six characters [32;1m affects subsequently text in output, in this case turning it green.