Введение
Особый тип клавиши-модификатора.
Мёртвый ключ — это особый тип клавиши-модификатора на механической пишущей машинке или компьютерной клавиатуре, который обычно используется для добавления определённого диакритического знака к основной букве. Сам по себе мёртвый ключ не генерирует (полноценный) символ, а модифицирует символ, генерируемый клавишей, нажатой непосредственно после него. Таким образом, не требуется отдельная клавиша для каждой возможной комбинации диакритического знака и буквы, а достаточно лишь одного мёртвого ключа для каждого диакритического знака, в дополнение к обычным клавишам с основными буквами. Например, если в раскладке клавиатуры (например, US International) есть мёртвый ключ для циркумфлекса (^), то символ â можно получить, сначала нажав этот мёртвый ключ, а затем a. Обычно сам диакритический знак можно ввести как отдельный символ, нажав мёртвый ключ, а затем пробел; таким образом, карет (отдельный циркумфлекс) можно набрать, нажав ^, а затем пробел.
Usually, the diacritic itself can be generated as a free standing character by pressing the dead key followed by space; so a caret (free standing circumflex) can be typed by pressing and then .
Механические пишущие машины
Мертвый ключ имеет механическое происхождение, а термин "мёртвый" означает отсутствие перемещения. В печатных машинках с механическими литерными рычагами все символы имеют одинаковую ширину. При нажатии клавиши металлический рычаг ударяет по символу на пропитанную краской ленту, перенося краску на бумагу, и одновременно запускается механизм, который сдвигает бумагу (вставленную в каретку) на один шаг вперед. Чтобы использовать один диакритический знак, например, острое ударение, с несколькими основными символами (например, á, é, í, ó, ú), было принято решение создать новый символ – само острое ударение или диакритический знак – который на тот момент отсутствовал в наборе типографских шрифтов. Вследствие изменения механизма, нажатие клавиши с ударением не приводило к продвижению бумаги (клавиша была "мёртвой", то есть не создавала пробела), что позволяло ввести любой символ, над которым должно было стоять острое ударение, создавая эффект двойного напечатания. Второй удар клавиши перемещал каретку с бумагой вперед. Следует отметить, что при использовании механических клавиатур после острого ударения можно было ввести любой символ, создавая новые комбинации, например, q с острым ударением.
Электронные клавиатуры
Мертвый ключ отличается от обычного модификатора (например, Shift или Ctrl) тем, что его нажимают и отпускают перед нажатием клавиши, которую нужно изменить, а не удерживают во время нажатия другой клавиши. В некоторых компьютерных системах пользователь не видит никаких признаков нажатия мертвого ключа, поэтому кажется, что клавиша не работает (ничего не происходит сразу), но в некоторых системах ввода текста отображается диакритический знак вместе с индикатором ожидания следующего нажатия для завершения ввода. Однако компьютеры работают иначе. Мертвый ключ временно меняет раскладку клавиатуры для следующего нажатия, активируя специальный режим клавиатуры, а не генерируя символ-модификатор. Вместо обычной буквы генерируется предварительно составленный символ с соответствующим диакритическим знаком. Каждая комбинация диакритического знака и основной буквы должна быть определена в наборе символов и поддерживаться используемым шрифтом. Нет предварительно составленного символа для сочетания острого акцента с буквой q, поэтому нажатие острого акцента, а затем q, скорее всего, приведет к ´q, где акцент и буква будут отображаться как отдельные символы. Однако в некоторых системах неверная последовательность ввода может быть проигнорирована. (Используя комбинируемые символы, доступные в наборе символов Unicode, можно создать комбинацию, которая выглядит как q с острым акцентом (q́), но этот метод существенно отличается от функциональности мертвого ключа. Кроме того, поскольку буква q обычно не принимает акценты, создатели шрифтов могут не включать необходимые атрибуты шрифта для успешного или эстетичного применения комбинируемого акцента. Необходимо проверять эту возможность для каждого шрифта отдельно, так как поддержка акцентирования таким образом сильно различается.)
Закованы в цепи
Unicode кодирует более ста предварительно составленных символов с двумя диакритическими знаками для использования в латинском шрифте вьетнамского и ряда других языков. Для удобства они генерируются на большинстве клавиатур, поддерживающих их, при нажатии двух соответствующих клавиш модификаторов в любом порядке, за которым следует клавиша буквы. Таким образом, эти клавиши модификаторы работают последовательно, то есть второе нажатие не приводит к немедленной вставке символа, а система ожидает следующего нажатия. Такое последовательное поведение клавиш модификаторов управляется флагом клавиши модификатора, который является четвёртым аргументом функции DEADTRANS (после кода базового символа, кода диакритического знака и кода составного символа). Если этот флаг установлен в значение по умолчанию 0, составной символ вставляется; если он установлен в 1, код составного символа обрабатывается как ещё один код диакритического знака, как и при нажатии клавиш модификаторов, и обычно используется в качестве второго аргумента в других записях списка клавиш модификаторов. Последовательное соединение клавиш модификаторов позволяет эмулировать клавишу композиции, просто используя функциональность клавиш модификаторов. Это может быть реализовано либо с помощью проприетарного программного обеспечения для редактирования раскладки клавиатуры, либо с помощью комплектов разработки драйверов.
Мертвые клавиши на различных клавиатурах
Ключ может функционировать как мертвый ключ по умолчанию, и многие неанглийские раскладки клавиатуры, в частности, имеют мертвые клавиши непосредственно на клавиатуре. Базовая клавиатура США не имеет мертвых клавиш, но раскладка US International, доступная в Windows и X Window System, размещает некоторые мертвые клавиши непосредственно на похожие знаки препинания. Клавиатуры, продаваемые в большинстве других стран мира, имеют клавишу AltGr (Alternative graphic), которая дает возможность непосредственно изменять некоторые буквы и превращать другие в мертвые клавиши (в зависимости от настроек клавиатуры). В старых компьютерных системах, таких как MSX, часто имелась специальная клавиша с обозначением "мертвый ключ", которую в сочетании с клавишами Ctrl и Shift можно было использовать для добавления некоторых диакритических знаков, обычно необходимых в западно-европейских языках (´, `, ˆ и ¨) к гласным, которые впоследствии набирались. При отсутствии мертвой клавиши по умолчанию, даже обычная клавиша может быть временно изменена для функционирования как мертвый ключ, при одновременном удержании другой клавиши-модификатора (обычно AltGr или Option). В Microsoft Word (и в большинстве других полей ввода текста) использование клавиши Control с клавишей, которая обычно напоминает диакритический знак (например, ^ для циркумфлекса), действует как мертвый ключ. На Macintosh многие раскладки клавиатуры используют мертвые клавиши. Например, если сначала одновременно нажать, а затем , результатом будет â. На Macintosh, нажатие одной из этих комбинаций клавиш Option создает акцент и выделяет его, затем окончательный символ появляется при нажатии клавиши для базового символа. Однако некоторые латинские буквы с диакритическими знаками, менее распространенные в основных западно-европейских языках, такие как ŵ (используется в валлийском языке) или š (используется во многих центрально-европейских языках), не могут быть набраны с раскладкой "US". Для пользователей с клавиатурами США доступ к большему количеству диакритических знаков обеспечивает раскладка клавиатуры "US International". Пользователи с британскими клавиатурами имеют аналогичную опцию с расширенной раскладкой Великобритании; доступно множество других национальных настроек. В AmigaOS мертвые клавиши генерируются при нажатии в комбинации с (acute), (grave), (circumflex), (tilde) или (trema) (например, комбинация ALT F, за которой следует клавиша a, генерирует á, а ALT F, за которой следует e, генерирует é, в то время как ALT G, за которой следует a, генерирует à, а ALT G, за которой следует e, генерирует è).