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 实现。
如何通过 gnome-settings 将 capslock 改为 Ctrl?
答案1
在 gsettings 中添加'caps:ctrl_modifier'
的值org.gnome.desktop.input-sources xkb-options
,例如
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')]"
如果你只想使用 Dvorak 或
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak'), ('xkb', 'us')]"
如果您希望能够在 Dvorak 和标准布局之间切换。
请参阅“布局”部分xkeyboard-config 手册页了解更多布局。您需要替换父级,以便例如us(dvorak)
变为us+dvorak
。
gsettings 中的 XKB 设置由 GNOME 在启动时加载并覆盖任何以前的设置。要使用,setxkbmap
您需要确保setxkbmap
在应用 GNOME 设置后运行。我不知道该怎么做。
答案2
@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']/")"