Xorg: Як я можу зіставити AltGr на клавішу CapsLock (для перемикання символів 3-го рівня)


12

як багато інших мені не потрібно CapsLock. Я хочу перепризначити його таким, щоб він мав функцію AltGr. Я використовую Kubuntu 9.10, але я думаю, що повинно бути рішення, яке не залежить від дистрибуції.

Я вже намагався використовувати setxkbmap або xmodmap. Використовуючи xmodmapпринаймні мені вдалося так CapsLockповодитись Del, дотримуючись цього опису .

Але мені не вдалося домогтися приписання AltGrповедінки CapsLock.

Відповіді:


14

Я знаю, що це питання давнє, але якщо хтось знову натикається на нього, є альтернативне рішення:

setxkbmap -option "lv3:caps_switch"

Повний список опцій читайте у розділі "ВАРІАНТИ"

man xkeyboard-config

6

На підставі відповіді Денніса і, погравши з ним, xevя виявив, що магічна фраза, здається, є ISO_Level3_Shift.

Принаймні, це працює для мене:

xmodmap -e "keycode 66 = ISO_Level3_Shift"

Тепер я не загрожую зламати пальці під час набору [,], {,} та co на моїй німецькій розкладці клавіатури.

Редагувати: тепер використовується опція -e xmodmap


Спасибі! Я шукав саме це з моменту переходу на Ubuntu з Windows. Без цього JavaScript - біль на німецькій клавіатурі.
gzost

1

Спробуйте один із них (замініть keyim або keycode вашого ключа-lock, якщо він різний):

xmodmap -e "keysym 0xffe5 = Mode_switch"

або

xmodmap -e "keycode 66 = Mode_switch"

Дякую. Ваш рядок не працював безпосередньо з двох причин: 1. xmodmap хоче файл, тому мені доведеться передавати рядок і читати з stdin. 2. Mode_switch був успішно призначений, але не призвів до модифікатора 3-го рівня. Потім я знову грав з xev. Коли я зрозумів, що рядок "Mode_switch" з'являється там, було легко натиснути AltGr і подивитися, що можна прочитати замість цього у відповідному місці. -> ISO_Level3_Shift.
cknoll

@basweber: Я забув -eваріант. Я відредагував свою відповідь.
Призупинено до подальшого повідомлення.

Так. Це набагато чистіше, ніж трубопровідний підхід.
cknoll

1

Відповідь Лонга - найкращий варіант для сучасних настільних комп'ютерів, таких як Gnome, оскільки сам Gnome використовує xkb та перезаписує конфігурації xmodmap за замовчуванням (також xmodmap виходить і не підтримується у Wayland). На жаль, він буде працювати лише до перезавантаження.

Ви можете застосувати цю опцію назавжди для робочого столу Gnome за допомогою цієї команди:

gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"

Звичайно, ви також можете зробити цю зміну постійно та рівномірно системою, не використовуючи Gnome. Якщо ви використовуєте Gnome, вам все одно слід скористатися вищевказаною командою, щоб утримати Gnome від перезапису цього параметра. Для Arch можна додати файл /etc/X11/xorg.conf.d/90-custom-kbd.confіз таким вмістом:

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "lv3:caps_switch"
EndSection

Я припускаю, що це відрізняється між розподілами, тому ваш пробіг може відрізнятися.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.