Клавиша создания (иногда называемая мультиклавишой ) — это клавиша на клавиатуре компьютера , которая указывает, что следующие (обычно 2 или более) нажатия клавиш вызывают вставку альтернативного символа, обычно заранее составленного символа или символа. [1]
Например, если ввести команду , а затем Composeнажать ñ, будет вставлено ñ .~n
Ключи создания наиболее популярны в Linux и других системах, использующих X Window System , но существует программное обеспечение для их реализации в Windows и macOS .
Клавиша создания символов [2] [3] была введена инженерами Digital Equipment Corporation (DEC) на клавиатуре LK201 , доступной с 1983 года для терминала VT220 . [4] На клавиатуре имеется светодиодный индикатор, показывающий, что выполняется последовательность создания сообщения. [5] В то время как LK201 представил группу командных клавиш между буквенно-цифровым блоком и цифровой клавиатурой, а также расположение клавиш со стрелками в виде перевернутой буквы T, которые стали стандартными, [6] клавиша создания, напротив, не стала стандартом. .
В 1987 году Sun Microsystems выпустила Sun4 , первую специализированную рабочую станцию Unix, имевшую клавишу создания сообщения. [4] На клавиатурах рабочих станций Sun Type 5 и 6 индикатор создания сообщения расположен на колпачке клавиатуры (см. рисунок ниже).
В стандарте ISO/IEC 9995-7 для этого ключа разработан графический символ, в стандарте ISO/IEC 9995-7 — символ 15 «Составной символ», а в стандарте ISO 7000 «Графические символы для использования на оборудовании» — символ ISO-7000-2021. Этот символ кодируется в Юникоде как U+2384 ⎄ СИМВОЛ СОСТАВА .
Поскольку Microsoft Windows и macOS по умолчанию не поддерживают клавишу создания, эта клавиша не существует на большинстве клавиатур, предназначенных для современного оборудования ПК. Если программное обеспечение поддерживает функцию создания ключа, используется другой ключ. Типичными примерами являются правая клавиша Windows , клавиша или одна из клавиш. [7] На клавиатуре нет светодиодного индикатора или другого физического индикатора того, что последовательность создания продолжается, хотя ОС может отображать какой-либо значок (например, символ «Создать символ» ниже) в поле ввода текста пользователя.AltGrCtrl
Если клавиша «Создать» не является также клавишей-модификатором, то одновременное нажатие клавиши означает, что клавишу «Создать» не нужно отпускать перед последующими нажатиями клавиш. Это позволяет опытным машинисткам быстро вводить составные символы.
Более ранние версии последовательностей составления следовали за рукописным вводом и техникой перечеркивания , при этом буква ставилась первой, а диакритические знаки - вторыми. Например выдал символ – . Этот порядок все еще используется, [8] однако сегодня используется обратный порядок, известный по неработающим клавишам со знаками ударения , присутствующим на последних пишущих машинках : для ñ . [9] Это позволяет использовать несколько диакритических знаков, например, для ấ .Composen~Compose~nCompose'^a
Символы без акцента обычно состоят из букв, которые при перепечатке или последовательности создают что-то похожее на этот символ. Например , будет создан символ авторского права © и будет создан Æ .ComposeocComposeAE
Не существует внутреннего ограничения на длину последовательности, которая должна соответствовать как правилам мнемоники и эргономики , так и осуществимости в рамках комплексного дерева составления. Например, U+278C ➌ DINGBAT ОТРИЦАТЕЛЬНАЯ ЦИФРА БЕЗ ЗАСЕЦЕЙ В КРУГЕ ЦИФРА ТРИ может быть вставлена с помощью , где обозначает символы в кружке, [10] указывает на инверсию, указывает на без засечек и указывает на последний символ. Compose@%$3@ %$3
Основное преимущество клавиши создания сообщения заключается в том, что последовательность, используемая для выбора символа, может состоять из любых букв, цифр или символов, доступных на клавиатуре. Это делает последовательность более мнемонической , поэтому ее легче запомнить, можно угадать, если она неизвестна, и она может поддерживать гораздо большее количество символов.
Основным недостатком является то, что для создания последовательностей всегда требуется как минимум еще одно нажатие клавиши. Неудобное расположение клавиши ввода также может замедлить набор текста.
Наиболее распространенным методом ввода символов, не напечатанных на клавишах, является клавиша-модификатор, такая как AltGr . Этот метод страдает тем ограничением, что AltGr добавляет еще только две ассоциации (сдвинутую и несмещенную) для каждой клавиши. Доступные дополнительные символы обычно адаптируются к местному рынку и, таким образом, в большинстве случаев отвечают потребностям большинства пользователей. Например, раскладка по умолчанию для Великобритании/Ирландии предоставляет (через AltGr+aeiou) буквы á é í ó ú, которые необходимы для ирландского гэльского языка, но, следовательно, не содержат букв à è ì ò ù, необходимых для шотландского гэльского языка .
Неработающая клавиша рассматривает первый символ в любой последовательности как модификатор для следующей клавиши: при нажатии клавиша не действует, пока не будет нажата следующая клавиша. (Большинство систем стараются сделать выбор мертвого ключа логической частью выбора символов; это имеет смысл для знаков ударения , и эта концепция распространяется на другие символы). Например, клавиша Grave («обратная галочка») ( ` ) часто является мертвой клавишей: для достижения à используется последовательность + . Возможны составные последовательности: например, добавление двух точек (диакритический знак) кажется очевидным кандидатом , но очевидно, что этот часто используемый ключ не может быть повторно использован в качестве мертвого ключа. Решение состоит в том, чтобы изменить его с помощью AltGr, таким образом + доставляет ä . [a] Другие комбинации менее очевидны, чем их аналоги с клавишами создания: например, сравните + + с + для ş (ChromeOS с расширенным сопоставлением в Великобритании).`a"AltGr2 aCompose,sAltGr= s
Альтернативные коды или числовой ввод в Юникоде можно почти считать клавишей создания, но в качестве селектора используйте неинтуитивные числа вместо мнемоники.
В современных средствах выбора символов графического пользовательского интерфейса часто требуется функция поиска, которая мало чем отличается от последовательностей составления, чтобы быстро найти символ.
В файлах заголовков X ключ создания называется «Multi_key». В Xorg клавиша Compose по умолчанию — + , [11] (нажатие до этого — «модификатор четвертого уровня клавиатуры», другая клавиша). Поскольку это довольно неудобно (особенно для клавиатур без ), обычно выбирается раскладка клавиатуры, в которой другая клавиша, например правая или, сопоставлена с клавишей создания. Эта опция обычно доступна в настройках среды рабочего стола. Драйвер клавиатуры X не позволяет клавише, используемой для создания текста, выступать в качестве модификатора. [ нужна цитата ] В современных системах поддерживается огромное количество последовательностей составления. [12]⇧ ShiftAltGrAltGr ⇧ ShiftAltGrCtrl⊞ Win
В Microsoft Windows несколько программ, таких как PuTTY, обеспечивают поддержку создания ключа. [ нужна цитата ] Для эмуляции клавиши создания текста во всех программах часто используются утилиты сочетаний клавиш. Существует также ряд утилит с открытым исходным кодом (таких как WinCompose, [13] AllChars, [14] Compose-Keys, [15] или Compose [16] ). Доступны устанавливаемые раскладки клавиатуры (например, KbdEdit [17] ), которые содержат клавишу создания, назначенную одной из клавиш, например или . Они работают, используя функцию цепочки мертвых клавиш , которая чаще используется для ввода букв с несколькими диакритическими знаками. Такие раскладки клавиатуры также можно запрограммировать непосредственно на C (язык, на котором написаны драйверы Windows), скомпилировать с использованием бесплатного набора драйверов Windows [18] и упаковать с помощью бесплатного Microsoft Keyboard Layout Creator 1.4. [19] совместимо с последними версиями ОС.CtrlAltGr
Хотя система ввода текста Cocoa изначально позволяет вводить множество альтернативных и акцентированных символов в macOS, [20] настоящее решение для ввода текста не встроено. По крайней мере одно из них было реализовано с использованием утилиты Karabiner, [8] которая работает со всеми приложения, а также использование определенных раскладок клавиатуры (например, «ABC – Расширенная»), где Compose реализован с использованием функции мертвой цепочки клавиш. [20]
Хотя ChromeOS поставляется с более широким набором глифов, чем у большинства конкурентов, аккорды, необходимые для их достижения, не всегда так очевидны, как это обеспечивает концепция Compose. Google предоставил надстройку (ComposeKey), чтобы конкурировать на этом рынке. [21] [22]
В DOS поддержка набора клавиш зависела от запущенного приложения или загружаемого драйвера клавиатуры. Например, Lotus 1-2-3 использовал + в качестве клавиши создания, чтобы облегчить ввод многих специальных символов из международного набора символов Lotus (LICS) [23] и многобайтового набора символов Lotus (LMBCS).AltF1
В приведенной ниже таблице показаны некоторые композиции по умолчанию для сервера X.Org . Для современных систем, поддерживающих Unicode, таблица ниже далеко не полная. [12]