KDE Plasma ですべてのグローバルホットキーを無効にする方法は?

KDE Plasma ですべてのグローバルホットキーを無効にする方法は?

私は自分のマシンでセットアップを使用しているKDE+i3ため、i3-config でキーを適切にバインドしているので、KDE ​​が提供するすべてのグローバル ホットキーを無効にしたいと考えています。API を
調べてみるとqdbus、コマンドが 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 &

関連情報