Играя с xmodmap
я обнаружил модификатор ключа я не слышал: Mode_switch
. Кажется, что-то связано со вставкой специальных символов.
Я назначил его клавише, но это, похоже, не имеет никакого эффекта. Для чего это? Это отличается от ISO_Level3_Shift
(Alt Gr) ?
Ответы:
Mode_switch
это старое (до XKB) имя клавиши, которая вызывается AltGrво многих раскладках клавиатуры. Это похоже на то Shift, что когда вы нажимаете клавишу, соответствующую символу, вы получаете другой символ, если Shiftили AltGrтакже нажата. В отличие от этогоShift
,Mod_switch
он не является модификатором в смысле X11, поскольку он обычно применяется к символам, а не к функциональным клавишам, поэтому приложениям необходимо только выполнить поиск символов для получения желаемого эффекта.ISO_Level3_Shift
XKB-версия этого ключа. Вообще говоря, XKB намного сложнее и может делать некоторые необычные вещи. Механизм XKB является более общим, так как он позволяет изменять раскладки клавиатуры в зависимости от того, какие клавиши влияют на какие модификаторы, он обобщает модификаторы sticky ( CapsLock-style) и одновременного нажатия ( Shift-style) и так далее.источник
ISO_Level3_Shift
Приятно знать, что это может действовать «липко», я долго искал эту функциональность: unix.stackexchange.com/questions/39014/…AltGr
иMode_switch
те же ключи? Если нет, то по этой ссылке они звучат так, как будто это одно и то же. Не могли бы вы уточнить это немного?Mode_switch
иISO_Level3_Shift
делай тоже самое немного по-другому. Я не претендую на понимание различий; в большинстве случаев они не имеют значения, но я помню, что смешивание xmodmap с именами XKB иногда приводило к неправильной работе модификаторов.us(cz_sk_de)
функциями, либо настраиваемыми сопоставлениями xmodmap для некоторых клавиш (например, запятой) в зависимости от того,AltGr
естьMode_switch
илиISO_Level3_Shift
нет обе функции одновременно.CapsLock
стиле. Липкие клавиши называются «защелки», а замки - замками. Липкие клавиши отпускаются после нажатия следующего немодификатора, пока действуют клавиши блокировки, пока они не будут нажаты снова.Этот ответ не должен противоречить ответу @Gilles, но предназначен для описания другого аспекта обработки ввода xkb, который, как мне кажется, «недостаточно освещен» в его ответе.
Вы можете использовать как
ISO_Level3_Shift
(Alt-Gr), так иMode_switch
одновременно с разными результатами . Это требует некоторой настройки, но вы можете иметь их оба и использовать их для создания 6 разных клавиш на физическую клавиатуру!Например, вы можете настроить, Tabчтобы он
Mode_switch
находился при использовании xcape ⌂ и xmodmap , тогда, например, клавиша «H» на клавиатуре может выдавать следующие символы / клавиши:h
H
← (Cursor)
← (Symbol)
┘
┐ with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH
Таким образом, чтобы вернуться вокруг на ваш вопрос:
IL3S
аMode_switch
может быть сконфигурирован , чтобы означать разные вещи, так что вы можете иметь клавиши управления курсором и ~ 200 полезных символов из ( с ударением) языков, коробчатого чертежу и технический набор символов о 35 ключей от 3 строки букв.Для достижения вышеуказанного:
пример для H:
источник
fn: A → B
.ISO_Level5_Shift
. Это производит 8 уровней, 7-е существоlvl3+lvl5+H
и т. Д.Mode_shift
в Xkb есть клавиша Shift для групп или раскладок. Если у вас есть макет с несколькими группами, вы можете удерживать эту клавишу для доступа к следующей группе. Если у вас есть несколько макетов, вы можете удерживать эту клавишу для переключения между макетами († 1).То
Mode_shift
же самое относится к группам, что Shift(илиShift_L
иShift_R
, если использовать имена ключей) к уровням.Это может стать более понятным, если учесть, что
Mode_shift
псевдоним называетсяISO_Group_Shift
(† 2). Есть также ключи называютсяISO_Group_Latch
иISO_Group_Lock
которые соответствуютISO_Level2_Latch
(защелки сдвига) иShift_Lock
, соответственно († 3).Есть также несколько псевдонимов для разных скриптов:
kana_switch
Arabic_switch
Greek_switch
Hebrew_switch
Hangul_switch
† 1: Это основано на моем понимании «групп» и «макетов» Xkb. Кажется, что они обрабатываются так же, как и выбор между ними с ключами, как это.
† 2: Я основываю это на файле
keysymdef.h
в этом Git-репозитории с ревизией ab8666661fc6 («Добавить XF86XK_AudioPreset», 2017-05-10). При установке вы, вероятно, найдете этот файл по адресу/usr/include/X11/keysymdef.h
.† 3: Существует также ключ
ISO_Lock
, своего рода ключ блокировки общего назначения.Значение
AltGr
ключаЖиль упомянул в своем ответе связь с AltGrключом:
Это привело меня к подозрению, что «AltGr» может означать «альтернативная / альтернативная группа», поскольку
Mode_switch
используется для смены групп. Однако это оказалось не так. Согласно странице Википедии о AltGrключе , «AltGr», кажется, происходит от клавиатур IBM, и в их руководствах говорится, что это аббревиатура для «альтернативной графики». Это имеет смысл, поскольку представляется вероятным, что использование клавиатуры для рисования «графики» (символы рисования прямоугольников, используемых в текстовых пользовательских интерфейсах) появилось задолго до того, как появилась хорошая поддержка быстрого переключения между несколькими сценариями.источник