Gnome 3 - dconf / gsettings - как назначить несколько сочетаний клавиш?

Цель: назначить оба Super_L или же Super_R клавиши как триггеры для меню наложения.

Среда: Gnome 3.26.2, Fedora 27, Dell XPS 9550, Kinesis Advantage2

Зачем: Для работы я использую ноутбук либо отдельно, либо в сочетании с внешними мониторами, клавиатурой и мышью. На клавиатуре ноутбука есть левая супер (Windows) клавиша и нет правой супер (Windows) клавиши. Однако на внешней клавиатуре есть правая супер-клавиша (Windows), но нет левой супер-клавиши (Windows).

В настоящее время я должен открыть gnome-tweak-tool или же dconf-editor поменять местами Super_L а также Super_R каждый раз, когда я переключаюсь между использованием ноутбука в одиночку или с внешними устройствами (или gsettings эквивалент: gsettings set org.gnome.mutter overlay-key 'Super_{L/R}').

Статус: я пытался назначить оба Super_L а также Super_R для org.gnome.mutter.overlay-key значение как на основе графического интерфейса dconf-editor инструмент (а также через интерфейс командной строки gsettings альтернатива) использование множества различных синтаксических стратегий, но безуспешно.

Список всех настроек может быть выведен с помощью следующей команды: gsettings list-recursively > gsettings.txt, В соответствии с этим файлом соответствующий синтаксис для многоключевых значений следующий: ['value1', 'value2'], Тем не менее, пытаясь установить значения в соответствии с этим форматом (gsettings set org.gnome.mutter overlay-key ['Super_L', 'Super_R']) дает gsettings меню использования, подразумевающее неверный формат команды.

Меня меньше беспокоит использование графического интерфейса dconf-editor в конечном счете, я буду использовать программное обеспечение для управления конфигурацией для выполнения настройки (через gsettings) для меня (я использую Chef собрать и настроить мой ноутбук).

Вопрос: Как я могу включить оба Super_L или же Super_R вызвать меню наложения Fedora, используя gsettings инструмент настройки?

Форматы, которые я пробовал, которые не работают:

  • dconf write /org/gnome/mutter/overlay-key
  • gsettings set org.gnome.mutter overlay-key

с

  • "['Super_L','Super_R']"
  • "['Super_L', 'Super_R']"
  • ['Super_L','Super_R']
  • ['Super_L', 'Super_R']
  • 'Super_L','Super_R'
  • 'Super_L', 'Super_R'

Любые советы, подсказки или предложения будут с благодарностью!

- информатик

PS - Я не упомянул об этом явно, но я тщательно искал, как вводить многозначные привязки клавиш через gsettings, но не смог найти пример, который я мог бы воспроизвести без ошибок.

Рекомендации:

3 ответа

В следующем процессе обе супер-кнопки работали, чтобы открыть меню главной панели (хотя я нахожусь на Pop!_OS с Gnome v3.38):

Во-первых, откройте Gnome Tweaks (возможно, вам потребуется установить его), перейдите к Keyboard & Mouse, и установите Overview Shortcut к Left Super.

Затем либо используйте dconf editorили ваш терминал, чтобы установить одно из следующего (установка обоих приведет к игнорированию одного):

      # Worked on Pop!_OS v20.10 with Gnome v3.38.2
gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "['Super_R']"

# OR (don't set both)

# Worked on Pop!_OS v21.04 with Gnome v3.38.5
gsettings set org.gnome.settings-daemon.plugins.media-keys.search "['Super_R']"

Обратите внимание, что это будет иметь некоторые последствия для ярлыков: на этом этапе моя левая супер-клавиша работает при объединении ее с другими символами (например: Super+mчтобы развернуть), а справа всегда будет отображаться только главное меню панели (или меню поиска приложений), независимо от комбинации клавиш. Очевидно, вы можете изменить это, используя шаги, описанные выше.

Я сделал это с помощью:

      gsettings set org.gnome.shell.keybindings toggle-overview "['Super_R']"

Я думаю, что это не сработает, если ключ настроен на строковый тип, а не на массив строк:

$ gsettings range org.gnome.settings-daemon.plugins.media-keys volume-up
type s
$ gsettings range org.gnome.settings-daemon.plugins.media-keys custom-keybindings
type as

Но этот массив custom-keybindings может помочь!

Вы можете перейти к нему в пользовательском интерфейсе сочетаний клавиш и установить другую клавишу для увеличения громкости с помощью такой команды, как amixer -D pulse sset Master 5000+.

Обратите внимание, что было бы проще, если бы я мог использовать знак процента, но он по какой-то причине не работает, и вместо этого вам нужно использовать большое число, например 5000. Поэкспериментируйте.

(Я подозреваю, что вы можете сделать это с помощью gsettings, но я не знаю, как это сделать.)

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