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

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

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

Почему: для работы я использую ноутбук отдельно или вместе с внешними мониторами, клавиатурой и мышью. На клавиатуре ноутбука есть левая супер-клавиша (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 можно вывести с помощью следующей команды: 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'

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

- Информатик

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

Ссылки:


person Informatician    schedule 22.11.2017    source источник


Ответы (2)


В следующем процессе обе супер кнопки работают, чтобы открыть меню главной панели (хотя я нахожусь на 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 для максимизации), в то время как правая всегда будет просто отображать главное меню панели (или поиск приложения меню), независимо от комбинации клавиш. Очевидно, вы можете изменить это, используя шаги, описанные выше.

person vee    schedule 21.12.2020

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

$ 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, но я не уверен, как это сделать.)

person Jim Hunziker    schedule 21.02.2020