Я пытаюсь создать linux-эквивалент эргономичной раскладки телугу под названием Sarala (Hard la). Я был в состоянии сопоставить все ключи до сих пор. Макет использует следующие комбинации клавиш для различных уровней.
None (Base): Level1
Shift: Level2
Ctrl + Alt: Level3
Ctrl + Alt + Shift:Level4
Где, как Linux использует следующее для различных уровней.
None (Base): Level1
Shift: Level2
RAlt: Level3
RAlt + Shift:Level4
Чтобы иметь возможность сопоставить сочетания клавиш с моим макетом, мне нужно сопоставить AltGrс Ctrl+ Alt. Я безуспешно искал различные файлы в /usr/share/X11/xkb/
. Кто-нибудь знает, как я могу связать ISO_Level3_Shift
с Ctrl+ Alt?
key <RALT> {
symbols[Group1]= [ Mode_switch, Multi_key ],
virtualMods= AltGr
};
Если вы хотите посмотреть на макет, он здесь
xorg
keyboard-layout
xkb
ShaggyInjun
источник
источник
xkb
конфигурации.Ответы:
Вам нужно определить новый тип xkb. Вы можете увидеть примеры в вашем каталоге xkb / types (обычно
/usr/share/X11/xkb/types
). Там вы можете определить произвольные комбинации модификаторов, чтобы получить разные уровни смещения. Для вашей проблемы вы можете использовать что-то вроде этого:Затем в вашем файле символов вы можете установить этот тип по умолчанию или установить для каждого ключа, какой это тип. Обратите внимание, что вам нужно, чтобы тип находился в файле в каталоге типов, а определение ключа в файле в каталоге символов - xkb использует строгую иерархию файловой системы для поиска каждого компонента.
Я сам немного взломал раскладки клавиатуры, чтобы создать свою собственную раскладку ( https://github.com/willghatch/hatchak ), которая прошла через различные итерации, где я экспериментировал со странными вещами. Иногда XKB может быть довольно странным и странным, но это все еще самая настраиваемая клавиатурная система, которую я когда-либо видел. Лучшие ссылки, если у вас есть больше проблем:
[edit: оригинальные ссылки в настоящее время не работают, но к счастью, archive.org существует]
https://web.archive.org/web/20150722164820/http://www.charvolant.org/~doug/xkb/html/index.html
а также
https://web.archive.org/web/20190419170426/http://pascal.tsu.ru/en/xkb/
Остерегайтесь - хотя это лучшая документация, которую я нашел, она оставляет множество темных крайних случаев. Удачи.
источник
key.type
. Вероятно, вы можете увидеть пример в/usr/share/X11/xkb/symbols/srvr_ctrl
(или где-то в этом роде), в разделе «no_srvr_keys». Вот что у меня есть: xkb_symbols "no_srvr_keys" {key.type = "TWO_LEVEL"; клавиша <FK01> {[F1, F1]}; ключ <FK02> {[F2, F2]}; <etc ...>};Из того, что мне кажется, вам нужна раскладка клавиатуры, которая поддерживает AltGr, поэтому вы можете просто изменить горячую клавишу на «клавиатура> сочетания клавиш> клавиша альтернативных символов» в меню конфигурации. Обычно вы можете увидеть это, изменив раскладку, в которой «есть мертвые ключи» или написано «AltGr мертвые ключи»
источник