如何在没有xmodmap / XKBOPTIONS的情况下进行Capslock控制?

xmodmap是折旧的,不适用于gsettings ,在这里执行此操作会禁用我的xmodmapsudo vi /etc/default/keyboard > XKBOPTIONS="ctrl:nocaps"sudo setxkbmap dvorak '' ctrl:nocaps

 gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']" 

我想通过gsettings更改为Ctrl。 但是,我没有在设置中找到这种可能性。 我认为可以通过Keyboard > Shortcuts > Custom Shortcuts > +来实现此更改,但我不确定如何使用gnome完成此操作。


如何通过gnome-settings将大写锁定更改为Ctrl?

'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')]" 

如果你只想使用德沃夏克或

 gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak'), ('xkb', 'us')]" 

如果你想能够在Dvorak和标准布局之间切换。

有关更多布局,请参阅xkeyboard-config联机帮助页的“LAYOUTS”部分。 你需要替换父母,以便us(dvorak)成为us+dvorak

gsettings的XKB设置在启动时由GNOME加载,并覆盖以前的任何设置。 要使用setxkbmap您需要确保在应用GNOME设置后运行setxkbmap 。 我不知道该怎么做。