'caps:ctrl_modifier' to the value of
org.gnome.desktop.input-sources xkb-options in gsettings, for example
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt', 'caps:ctrl_modifier']"
You can use
gsettings set org.gnome.desktop.input-sources xkb-options "$(gsettings get org.gnome.desktop.input-sources xkb-options | sed "s/]/, 'caps:ctrl_modifier']/")"
to append on to the current value of
xkb-options. You can find more possible option in the "OPTIONS" section of the xkeyboard-config manpage
To change your keyboard layout you need to set the value of
org.gnome.desktop.input-sources sources, e.g.
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak')]"
if you want to only use Dvorak or
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+dvorak'), ('xkb', 'us')]"
if you want to be able to switch between Dvorak and standard layout.
See the "LAYOUTS" section of the xkeyboard-config manpage for more layouts. You need to substitute the parents so that e.g.
The XKB settings from gsettings are loaded by GNOME at startup and overwrite any previous settings. To use
setxkbmap you need to make sure that your
setxkbmap are run after the GNOME settings are applied. I don't know how to do this.