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, но не смог найти пример, который я мог бы воспроизвести без ошибок.
Рекомендации:
- Уверены, что мои супер ключи
mod4
по мере необходимости черезxmodmap -pm
, https://askubuntu.com/questions/5095/typing-using-key-combinations.
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
, но я не знаю, как это сделать.)