Как отключить все глобальные горячие клавиши в KDE Plasma?

Как отключить все глобальные горячие клавиши в KDE Plasma?

Я использую KDE+i3настройку на своей машине и поэтому хочу отключить все глобальные горячие клавиши, предоставляемые KDE, поскольку я правильно привязал клавиши в своем i3-config.
После изучения qdbusAPI я обнаружил, что команда работает на сеанс Plasma:

qdbus org.kde.kglobalaccel /kglobalaccel blockGlobalShortcuts true

Проблемы

Вопрос в том, как начать автоматизацию. Вопросы следующие:

  • Глобальные ключи снова начнут работать послеСпать,Замоки т. д., которые перезапускают Plasma.
  • Я использовал
    exec --no-startup-id qdbus org.kde.kglobalaccel /kglobalaccel \
    blockGlobalShortcuts true
    
    на данный момент, но работает только до тех пор, пока Plasma не перезапустится.

Как мне следует приступить к реализации этого?

решение1

Я нашел способ отключить все глобальные сочетания клавиш KDE. Вот что я сделал:

  • Горячие клавиши сохраняются в ~/.config/kglobalshortcutsrcвиде foo=barназначений.
  • Используя sed, замените горячие клавиши.
  • Перезапустите kglobalaccel, чтобы увидеть изменения.

Вот сценарий:

#!/bin/sh

hotkeysRC="$XDG_CONFIG_HOME/kglobalshortcutsrc"

# Remove application launching shortcuts.
sed -i 's/_launch=[^,]*/_launch=none/g' $hotkeysRC

# Remove other global shortcuts.
sed -i 's/^\([^_].*\)=[^,]*/\1=none/g' $hotkeysRC

# Reload hotkeys.
kquitapp5 kglobalaccel && sleep 2s && kglobalaccel5 &

Теперь я наконец-то могу перенести все свои назначения клавиш в конфигурацию i3!

решение2

Я немного изменил скрипт Utkarsh, поскольку он не работал в моей установке (вероятно, изменился синтаксис в kglobalshortcutsrc):

#!/bin/sh

fl="$HOME/.config/kglobalshortcutsrc"

sed -i 's/=.*,.*,/=none,none,/g' $fl
sed -i 's/Walk Through Windows=.*/Walk Through Windows=Alt+Tab,Alt+Tab,Walk Through Windows/' $fl # return alt+tab

# Reload hotkeys.
kquitapp5 kglobalaccel && sleep 2s && kglobalaccel5 &

Связанный контент