11

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

Я уже пытался использовать setxkbmap или xmodmap . С помощью xmodmap по крайней мере, мне удалось, чтобы CapsLock вел себя как Del , следуя этому описанию .

Но я не смог добиться назначения поведения AltGr для CapsLock.

4 ответа4

13

Я знаю, что этот вопрос старый, но если кто-то снова наткнется на него, есть альтернативное решение:

setxkbmap -option "lv3:caps_switch"

Полный список опций читайте в разделе "ОПЦИИ"

man xkeyboard-config
6

Основываясь на ответе Денниса и поиграв с xev я обнаружил, что волшебная фраза выглядит как ISO_Level3_Shift .

По крайней мере, это работает для меня:

xmodmap -e "keycode 66 = ISO_Level3_Shift"

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

Изменить: теперь с помощью опции -e xmodmap

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

Я предполагаю, что это отличается между дистрибутивами, поэтому ваш пробег может отличаться.

1

Попробуйте один из них (замените keyim или код ключа вашего ключа caps-lock, если он другой):

xmodmap -e "keysym 0xffe5 = Mode_switch"

или же

xmodmap -e "keycode 66 = Mode_switch"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .