Переключить замену ключей alt и win с помощью командной строки

Я знаю, что могу поменять местами клавиши alt и win с помощью gnome-tweak-tool . Однако мне приходится делать это часто, потому что я часто переключаюсь между клавиатурами, поэтому было бы неплохо иметь скриптовое решение.

Существует простой способ узнать, каким настройкам dconf соответствует данное изменение, с помощью команда dconf watch / в терминале, а затем выдача изменения, что приводит к тому, что терминал распечатывает соответствующее изменение. [см. https://itectec.com/ubuntu/ubuntu-how-to-script-the-settings-made-by-gnome-tweak-tool/ sizes

Таким образом, я обнаружил, что изменение я необходимо переключить (удалить или добавить) запись 'altwin: swap_alt_win' в

/org/gnome/desktop/input-sources/xkb-options 
  ['ctrl:aa_ctrl', 'grp:shift_caps_toggle', 'altwin:swap_alt_win']

Связанная веб-страница рекомендует использовать для этого gsettings , но мне не ясно, как это сделать это. Запуск gsettings get org.gnome.desktop.input-sources xkb-options действительно возвращает настройку, но я застрял в том, как теперь переключить опцию 'altwin: swap_alt_win' . Я думаю, что следует использовать set , но чтобы мне пришлось искать в списке термин и добавлять или удалять его, в зависимости от того, существует ли он? Есть ли другой способ?

Между прочим, gsettings set org.gnome.desktop.input-sources xkb-options ['ctrl: aa_ctrl', 'grp: shift_caps_toggle'] не работает.

0
задан 26 December 2020 в 13:23

1 ответ

Попробуйте

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:aa_ctrl', 'grp:shift_caps_toggle']"

Чтобы включать и выключать, вам нужно создать небольшой bash-скрипт, который проверяет текущие настройки, а затем устанавливает другие настройки. Вы можете прочитать ключ с помощью

gsettings get org.gnome.desktop.input-sources xkb-options

. Затем вы можете привязать скрипт к горячей клавише для быстрого переключения.

Скрипт может выглядеть так:

#!/bin/bash
STATUS=$(gsettings get org.gnome.desktop.input-sources xkb-options)
case $STATUS in
    "@as []" )
        gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:aa_ctrl', 'grp:shift_caps_toggle']"
    ;;
    "['ctrl:aa_ctrl', 'grp:shift_caps_toggle']" )
        gsettings reset org.gnome.desktop.input-sources xkb-options
    ;;
esac
0
ответ дан 26 December 2020 в 11:28

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

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