Как сделать 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> +, но я не уверен, как это можно сделать с помощью GNOME.


Как изменить capslock на Ctrl с помощью настроек gnome?

2
задан 13 April 2017 в 15:23

2 ответа

Добавить '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 применяются. Я не знаю, как сделать это.

3
ответ дан 2 December 2019 в 02:51

@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']/")"
0
ответ дан 2 December 2019 в 02:51

Другие вопросы по тегам:

Похожие вопросы: