Я пытаюсь настроить xkb таким образом, чтобы Caps Lock отображался на клавишу Compose, а Shift + Caps Lock функционировал как традиционный Caps Lock. Я поместил следующее в новый файл с именем /usr/share/X11/xkb/symbols/gdwatson
:
partial modifier keys
xkb_symbols "compose" {
key <CAPS> {
type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Multi_key, Caps_Lock ]
};
};
Затем я побежал setxkbmap -symbols 'pc+us+gdwatson(compose)'
, что успешно завершено. Caps Lock работает как Compose, но Shift + Caps Lock работает как Compose вместо Caps Lock. xkbcomp :0.0
раскрывает следующее:
key <CAPS> {
type= "TWO_LEVEL",
symbols[Group1]= [ Multi_key, Multi_key ]
};
Отображение символов второго уровня по какой-то причине дублирует первый, а не отдельное значение, которое я пытался дать. У кого-нибудь есть достаточно сильный xkb-fu, чтобы сказать мне, что я сделал неправильно или как это исправить?
partial modifier keys
быть на самом деле partial modifier_keys
? Без этого изменения setxkbmap -symbols 'pc+us+gdwatson(compose)'
фактически завершается с ошибкой, но с изменением я получаю желаемый результат xkbcomp :0.0
. Однако я получаю нежелательный побочный эффект, что одновременное нажатие на Capslock переводит меня в режим Capslock и режим составления клавиш.
@mirabilos
в своем ответе, чтобы я его заметил) в комментарии, тогда я удалю этот комментарий и напишу его как ответ (затем вы также должны удалить свой комментарий).