xmodmap
устарела и не работает с gsettings
, делая это здесь отключает мои xmodmap
и т. Д. sudo vi /etc/default/keyboard
> XKBOPTIONS="ctrl:nocaps"
и sudo setxkbmap dvorak '' ctrl:nocaps
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']"
Я хотел бы сделать изменение capslock на Ctrl gsettings
. Однако я не нахожу такой возможности в настройках. Я думаю, что это изменение может быть достигнуто с помощью Keyboard
> Shortcuts
> Custom Shortcuts
> +
, но я не уверен, как это можно сделать с помощью GNOME.
Как изменить capslock на Ctrl с помощью настроек gnome?
Добавить 'caps:ctrl_modifier'
к значению org.gnome.desktop.input-sources xkb-options
в gsettings, например
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt', 'caps:ctrl_modifier']"
Можно использовать
gsettings set org.gnome.desktop.input-sources xkb-options "$(gsettings get org.gnome.desktop.input-sources xkb-options | sed "s/]/, 'caps:ctrl_modifier']/")"
добавлять на текущем значении xkb-options
. Можно найти более возможный вариант в разделе "OPTIONS" страницы справочника xkeyboard-конфигурации
Для изменения раскладки клавиатуры, необходимо установить значение org.gnome.desktop.input-sources sources
, например.
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak')]"
если Вы хотите только использовать Dvorak или
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak'), ('xkb', 'us')]"
если Вы хотите смочь переключиться между Dvorak и стандартным расположением.
Посмотрите раздел "LAYOUTS" страницы справочника xkeyboard-конфигурации для большего количества разметок. Необходимо заменить родителями так, чтобы, например. us(dvorak)
становится us+dvorak
.
Настройки XKB от gsettings загружаются GNOME при запуске и перезаписывают любые предыдущие настройки. Использовать setxkbmap
необходимо удостовериться что Ваш setxkbmap
выполняются после того, как настройки GNOME применяются. Я не знаю, как сделать это.
@florian-diesch's ответ является большим, но я думал, что будет стоить добавить версию, которая будет также работать в случае, что у пользователя есть пустая конфигурация:
# Map Caps Lock to Ctrl.
XKB_OPTIONS="$(gsettings get org.gnome.desktop.input-sources xkb-options)"
[ "$(echo ${XKB_OPTIONS} | grep -v '\[\]')" ] && gsettings set org.gnome.desktop.input-sources xkb-options "$(echo ${XKB_OPTIONS} | sed "s/\[\]/['caps:ctrl_modifier']/")"
[ "$(echo ${XKB_OPTIONS} | grep -v 'caps:ctrl_modifier')" ] && gsettings set org.gnome.desktop.input-sources xkb-options "$(echo ${XKB_OPTIONS} | sed "s/\]/, 'caps:ctrl_modifier']/")"