Введение

Компьютерная клавиша

На компьютерных клавиатурах клавиша Esc (называемая Escape в международной серии стандартов ISO/IEC 9995) используется для генерации символа escape (который может быть представлен как код ASCII 27 в десятичной системе, Unicode U+001B или). Символ escape, при передаче с клавиатуры на компьютер, часто интерпретируется программным обеспечением как "стоп", "отмена" или "выход", а при передаче с компьютера на внешнее устройство (включая многие принтеры, начиная с 1980-х годов, компьютерные терминалы и консоли Linux, например) обозначает начало escape-последовательности для указания режимов работы или характеристик в целом. В настоящее время она обычно располагается в верхнем левом углу клавиатуры, что восходит, по крайней мере, к оригинальной клавиатуре IBM PC, хотя сама клавиша появилась за десятилетия до этого с телетайпами.

Символ

Символ клавиатуры для клавиши ESC (который может использоваться, если обычное латинское обозначение "Esc" нежелательно для маркировки клавиши) стандартизован в ISO/IEC 9995-7 как символ 29, а в ISO 7000 "Графические символы для оборудования" как символ ISO 7000-2029. Этот символ кодируется в Юникоде как U+238B, разорванный круг со стрелкой в северо-западном направлении (⎋).

Происхождение

На некоторых ранних клавиатурах Teletype Model 33 эквивалентная клавиша называлась Alt Mode, альтернативный режим работы, заставляющий механизм проскока обрабатывать следующий символ особым образом. Более поздние принтеры и компьютерные терминалы, использующие управляющие последовательности, часто принимали для специальной последовательности более одного последующего байта.

Применение

Поскольку большинство пользователей компьютеров больше не интересуются деталями управления периферийными устройствами, задачей, для которой изначально и предназначались управляющие последовательности, клавиша Escape была перехвачена программистами приложений, чаще всего для обозначения команды "Стоп". Это использование сохраняется и сегодня в Microsoft Windows, где Escape служит ярлыком для кнопок "Нет", "Выход", "Закрыть", "Отмена" или "Прервать" в диалоговых окнах, а также является распространенным сочетанием клавиш для кнопки "Стоп" во многих веб-браузерах и для отмены операций перетаскивания. На компьютерах с Microsoft Windows, до появления клавиши Windows на клавиатуре, для вызова кнопки "Пуск" обычно удерживали клавишу Control и нажимали Escape. Эта комбинация клавиш продолжает работать и в Windows 10. Microsoft Windows использует "Esc" для множества сочетаний клавиш, многие из которых присутствуют начиная с Windows 3.0 и в последующих версиях, включая Windows XP. В macOS клавиша "Esc" обычно закрывает или отменяет диалоговое окно или панель. Сочетание клавиш Command + Option (⌘ + ⌥) открывает окно "Принудительного завершения", позволяя пользователям завершать работу не отвечающих приложений. Другое применение клавиши Escape, в сочетании с клавишей Command, – переключение на Front Row, если она установлена. В большинстве компьютерных игр клавиша Escape используется как кнопка паузы и/или для вызова внутриигрового меню, обычно содержащего опции выхода из программы, несмотря на наличие отдельной клавиши Pause/Break. В семействе текстовых редакторов vi клавиша Escape используется для переключения режимов. Это обусловлено тем, что клавиша Escape удобно располагалась на терминальной клавиатуре ADM 3A, использовавшейся при разработке vi (в позиции, где сейчас находится клавиша Tab), хотя сейчас её расположение менее удобно. Это аналогично тому, как обширные клавиши-модификаторы в Emacs легко использовались на оригинальной клавиатуре (Space Cadet keyboard), поскольку располагались рядом друг с другом, но теперь они разбросаны по клавиатуре, что затрудняет их использование. Редактор TECO использует Escape как разделитель при однократном нажатии и как клавишу выполнения при двойном нажатии подряд.

Последовательность эскалации на терминалах KSR

Старые принтеры с клавиатурой "Отправка/Прием" (KSR) и устройства визуального отображения (VDU) обычно управлялись с помощью управляющих последовательностей, отправляемых компьютером на периферийное устройство, но существовали ситуации, когда эти устройства можно было использовать "автономно", с клавиатурой, фактически подключенной к выходному устройству. В таких случаях могла возникнуть необходимость вводить управляющие последовательности "вручную" для управления периферией. Хотя эти устройства давно устарели, стандартная обработка ANSI-управляющих последовательностей, очень похожая на ту, что использовалась в VT100 в 1970-х годах, реализована как в ANSI.SYS, так и в других более современных интерфейсах псевдотерминалов, используемых в Unix-подобных средах, например, в консолях Linux. Это означает, что более новые, высокоуровневые абстракции не изменили того факта, что нажатие клавиши Escape, за которым следует, например, шесть символов [32;1m, влияет на последующий вывод текста, в данном случае окрашивая его в зеленый цвет.