Create TOC

2021년 3월 9일

KDE/qdbus로 단축키에 해당하는 기능 실행하기

KDE에서 fusuma를 이용해 trackpad 제스쳐를 설정할때 xdotool을 사용해 KDE 단축키를 누른 것과 같은 효과를 낼 수 있다. 다만 이때 가상머신등을 사용하는 경우 단축키를 가상머신에서 받아들이기 때문에 원하는 단축키 실행이 되지 않을 수 있다. 이때는 xdotool 대신 qdbus을 이용해 KDE 단축키에 해당하는 기능을 바로 실행하면 문제가 해결된다.

1 단축키를 가지는 component 목록 얻기

$ qdbus org.kde.kglobalaccel

2 모든 단축기 정보 얻기

$ qdbus --literal org.kde.kglobalaccel /component/plasmashell allShortcutInfos | bat -l json 

3 실행

$ qdbus org.kde.kglobalaccel /component/plasmashell invokeShortcut activate\ widget\ 200

4 자주 쓰는 단축키

4.1 시작 메뉴

$ qdbus org.kde.kglobalaccel /component/plasmashell invokeShortcut activate\ widget\ 200

4.2 Expose All

$ qdbus org.kde.kglobalaccel /component/kwin invokeShortcut ExposeAll

4.3 Expose

$ qdbus org.kde.kglobalaccel /component/kwin invokeShortcut Expose

4.4 Latte Dock 첫번째 항목 활성

$ qdbus org.kde.kglobalaccel /component/lattedock invokeShortcut activate\ entry\ 1