Как сделать Capslock Control без xmodmap/XKBOPTIONS?
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
> +
но я не уверен, как это можно сделать с помощью гнома.
Как вы можете изменить capslock на Ctrl с помощью gnome-settings?
1 ответ
Добавлять '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
, Вы можете найти более возможную опцию в разделе "ОПЦИИ" на странице руководства xkeyboard-config.
Чтобы изменить раскладку клавиатуры, вам нужно установить значение org.gnome.desktop.input-sources sources
например,
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak')]"
если вы хотите использовать только Дворжак или
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak'), ('xkb', 'us')]"
если вы хотите иметь возможность переключаться между двораком и стандартной раскладкой.
Обратитесь к разделу " LAYOUTS" справочной страницы xkeyboard-config для получения дополнительных макетов. Вы должны заменить родителей так, чтобы, например, us(dvorak)
становится us+dvorak
,
Настройки XKB из gsettings загружаются GNOME при запуске и перезаписывают все предыдущие настройки. Использовать setxkbmap
Вы должны убедиться, что ваш setxkbmap
запускаются после применения настроек GNOME. Я не знаю, как это сделать.
Ответ @florian-diesch отличный, но я подумал, что стоит добавить версию, которая также будет работать в случае, если у пользователя пустая конфигурация:
# 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']/")"