Я намагаюся налаштувати 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
у своїй відповіді, щоб я це помітив) у коментарі, тоді я видалю цей коментар і напишу його як відповідь (ви також повинні видалити свою відповідь на коментар).