На персональных компьютерах с цифровыми клавиатурами, использующих операционные системы Microsoft , такие как Windows , многие символы , для которых нет выделенной комбинации клавиш на клавиатуре, тем не менее, можно вводить с помощью кода Alt ( метод ввода Alt numpad ). Это делается путем нажатия и удержания клавиши, затем ввода на цифровой клавиатуре цифры , которая идентифицирует символ, и последующего отпускания . [1]AltAlt
На персональных компьютерах, совместимых с IBM PC , начиная с 1980-х годов BIOS позволял пользователю удерживать клавишу и вводить десятичное число на клавиатуре. Он помещал соответствующий код в буфер клавиатуры, так что это выглядело (почти) так, как будто код был введен одним нажатием клавиши. Приложения, считывающие нажатия клавиш из BIOS, вели себя в соответствии с тем, какое действие они связывают с этим кодом. Некоторые интерпретировали код как команду, но часто он интерпретировался как 8-битный символ из текущей кодовой страницы , который вставлялся в текст, набираемый пользователем. На оригинальном IBM PC кодовая страница была CP437 .Alt
Некоторые восточноевропейские, арабские и азиатские компьютеры использовали другие аппаратные кодовые страницы , и MS-DOS могла переключаться между ними во время выполнения с помощью таких команд, как KEYB
, CHCP
или MODE
. Это приводит к тому, что комбинации Alt создают разные символы (а также изменяют отображение любого ранее введенного текста таким же образом). Обычным выбором в локалях, использующих варианты латинского алфавита, был CP850 , который предоставлял больше вариантов латинских символов. (Однако было гораздо больше кодовых страниц ).
Клавиатуры ПК, предназначенные для использования не на английском языке, включали другие методы вставки этих символов, такие как национальные раскладки клавиатуры , клавиша AltGr или мертвые клавиши , но клавиша Alt была единственным методом вставки некоторых символов, и единственным методом, который был одинаковым на всех машинах, поэтому он оставался очень популярным. [ где? ] [ требуется пояснение ] Этот метод ввода эмулируется многими программами (например, более поздними версиями MS-DOS и Windows), которые не используют декодирование клавиатуры BIOS.
В стандарте ASCII числа 0-31 и 127 назначены управляющим символам , например, кодовая точка 7 набирается с помощью + . В то время как некоторые (большинство?) приложений вставляют символ маркера • (кодовая точка 7 на кодовой странице 437 ), некоторые считают это идентичным + , который часто является командой для программы. [ необходима цитата ]CtrlGCtrlG
Alt-коды стали настолько известны и запомнены пользователями, что Microsoft решила сохранить их в Microsoft Windows , хотя эта ОС имеет более новый и другой набор кодовых страниц, например CP1252 . Windows включает следующий алгоритм обработки Alt-кода, который поддерживает оба метода:
Более поздние версии Windows и такие приложения, как Microsoft Word, поддерживали Unicode. Поскольку Unicode включал все символы в кодовых страницах MSDOS, это имело немедленное преимущество в том, что работали все старые комбинации MSDOS Alt, а не только те, которые существовали в кодовой странице Windows.
В BIOS IBM PC ввод Alt-кода больше 255 давал тот же результат, что и это число по модулю 256. [3] Некоторые приложения сохранили это поведение, в то время как другие (в частности, приложения, использующие элемент управления Windows RichEdit , такие как WordPad и PSPad ) заставляли числа от 256 до 65 535 давать соответствующий символ Unicode. [4] Например, + в WordPad дает U+2603 ☃ SNOWMAN . Если бы кодовая страница Windows была установлена на CP1252, то все символы Unicode, за исключением управляющих символов, можно было бы набрать таким образом.Alt9731
Поскольку большинство документации Unicode и таблиц символов показывают кодовые точки в шестнадцатеричном формате , а не в десятичном, была разработана вариация кодов Alt, позволяющая вводить числа в шестнадцатеричном формате (используя основную клавиатуру для – ). Чтобы включить ее, пользователь должен задать или создать значение типа string ( ), вызываемое в разделе реестра , назначить ему данные значения , а затем перезагрузиться или выйти/войти в систему. Начальный then указывает на шестнадцатеричный ввод, например + даст ě (e с caron ).AFREG_SZ
EnableHexNumpad
HKEY_CURRENT_USER\Control Panel\Input Method
1
+Alt+11B
Существует множество других способов ввода произвольных символов Unicode, например, с помощью утилиты Character Table .
Метод с клавишей Alt не работает в ChromeOS , macOS , Linux или других операционных системах , и нет никаких свидетельств интереса к его воспроизведению. Однако цифровой ввод символов Unicode возможен в большинстве Unix или Unix-подобных ОС путем нажатия и отпускания + + , а затем ввода шестнадцатеричного числа с последующим пробелом или клавишей Enter. Например, Ctrl⇧ ShiftU
Если отключено, попытка ввода Alt-кода может привести к неожиданным результатам в некоторых приложениях из-за элементов управления, используемых на той же клавише. Например, + может быть воспринято как + , заставляя веб-браузер вернуться на одну страницу назад.Num lockAlt4Alt←