Я удалил привязку GNOME по умолчанию к ключу Super и попытался привязать его, используя gsettings к его собственному ключу:
matt@hydrogen:~$ gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
matt@hydrogen:~$ gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding
'<Super>'
Настройка с помощью gsettings работает нормально, но не работает .
В графическом интерфейсе настройки GNOME он отображается как «Отключено»:
Но при нажатии на него это показывает, что он привязан к Супер ключу:
Я рассмотрел использование xbindkeys, но, к сожалению, это не поддерживает Wayland, который я сейчас использую. Очевидно, кажется, что GNOME не любит, когда я это делаю, но есть ли какие-нибудь возможные обходные пути?
Изменение поведения нажатия и отпускания Super kbd>, насколько я знаю, потребует использования утилиты ksuperkey
. См. мой ответ здесь для получения дополнительной информации о ksuperkey и где его найти. Одно предостережение: вероятно, утилита будет хорошо работать в Wayland, но я не уверен.
Первое, что вам нужно сделать в любом случае, это отключить клавишу Super kbd> для отображения обзора:
gsettings set org.gnome.mutter overlay-key ''
Теперь вы можете сначала попробовать, если ваш собственный подход теперь работает , Если это так, дайте нам знать, потому что это было бы очень просто. Однако я сомневаюсь в этом, и тогда вы можете попробовать использовать ksuperkey.
После запуска ksuperkey по умолчанию перенаправляет нажатие и отпускание Super kbd> на Alt kbd> + F1 kbd>. Существует два возможных подхода: 1) вы привязываете Alt kbd> + F1 kbd> к своей пользовательской команде (по умолчанию в Gnome отображается «меню», то есть обзор) или 2) вы перенаправляете на другую комбинацию клавиш, запуская ksuperkey с опцией -e
, например
ksuperkey -e 'Super_L=Control_L|space'
перенаправит Super kbd> в Ctrl kbd> + Пробел kbd>.
Утилита должна быть запущена, поэтому вам нужно будет запустить ее автоматически после входа в систему.