Для каждого определения кода ключа вы можете иметь до восьми клавиш. Они организованы попарно в четыре группы. Существует семейство keysyms ISO_Next_Group
, ISO_Prev_Group
, ISO_First_Group
и ISO_Last_Group
, которые при нажатии циклически выводят ключ, выводя ключ между группами клавиш. Эти клавиши - это то, как вы достигаете нескольких макетов.
В качестве примера, предполагая, что ISO_Next_Group
был связан с клавиатурным и назначен модификатор, то для этого определения:
keycode 53 = x X Greek_xi Greek_XI multiply U2297 U24E7 U24CD
прижавшись клавишу клавиатуры с меткой «X» на типы из «х» , После нажатия клавиши ISO_Next_Group
я получаю «ξ». Нажав снова, я получаю «×». Повторное нажатие «ⓧ». Наконец, нажатие на него в четвертый раз возвращает все к нормальной жизни.
Имея провести несколько дней (потому что Xkb¹ имеет ужасную документацию, наконец, нашел ладно руководство here), вы можете создать файл символов определения с записями вроде этого:
key <SPCE> {
// Level I II III IV
[ space, space, U2395, U2592 ], // Group 1
[ U2423, emspace, U2420, hairspace ] // Group 2
};
key <RALT> {
[ Mode_switch, Mode_switch ]
};
key <RCTL> {
[ ISO_Level3_Shift, ISO_Level3_Shift ]
};
Кронштейны приложить один группа. Обычно первая группа активна. Группу можно временно увеличить на единицу с помощью ISO_Group_Shift, a.k.a. Mode_switch. Выделенные символы внутри группы определяются в возрастающих уровнях. Уровень I с открытым нажатием. Shift добавляет один к текущему уровню. ISO_Level3_Shift устанавливает уровень в III.
В приведенном выше примере отображает семь символов в пробел плюс различные клавиши переключения таким образом, что:
пространство ⟨⟩ U + 0020 КОСМИЧЕСКИЙ
Shift + пространство ⟨⟩ U + 0020 КОСМИЧЕСКИЙ
R. Alt + пробел ⟨␣⟩ U + 2423 ОТКРЫТЫЙ BOX
R. Alt + Shift + пробел ⟨⟩ U + 2003 шпации
Р. Ctl + пробела ⟨⎕⟩ U + 2395 АПЗ функционального символ КВАД
Р. Ctl + Shift + пробел ⟨▒⟩ U + 2592
среднего оттенка Р. Alt + R. Ctl. + Пробел ⟨␠⟩ U + 2420 СИМВОЛ ДЛЯ ПРОСТРАНСТВА
R. Alt + R. CTL.+ Shift + пробел ⟨⟩ U + 200A ВОЛОС ПРОСТРАНСТВО
Существует также ключ ISO_Level5_Shift для V. уровня Таким образом, вы можете иметь по крайней мере шесть символов на одном уровне. С помощью клавиши переключения режима это означает, что вы можете настроить клавиатуру для ввода примерно 1200 различных символов, но в этот момент, удерживая так много модификаторов, вероятно, замерзнет несколько клавиш.
P.S. Имена всех названных символов хранятся в /usr/include/X11/keysymdef.h
.
¹ Оказывается, что
Xmodmap (1) глючит и устаревшим.
Этот вопрос в основном касается компиляции ключевой карты довольно необычным способом, который требует хакеров низкого уровня. Я думал о том, чтобы поместить его в суперпользователя, но он не получит никаких ответов. Это ближе к программированию (да - это в основном программирование xkb), чем просто настройка ваших настроек (что специализируется суперпользователь). – viraptor