4.2.0 커널로 젠투 위에서 XFCE 4.12를 실행하고 있습니다. 키보드의 PlayPause 버튼은 VLC의 글로벌 핫키로 사용되었습니다. 이제 VLC는 키를 인식하지 못합니다. “Alt + Media Play Pause”는 표시되지만 키만은 아닙니다.
해당 키를 캡처하는 프로그램이 무엇인지 확인하는 방법이 있습니까?
파일을 실행 xdotool key "XF86LogGrabInfo"
하면 tail /var/log/Xorg.0.log
읽습니다.
[ 10138.690] (II) Printing all currently active device grabs:
[ 10138.690] (II) End list of active device grabs
답변
키를 잡은 앱 / 프로그램을 찾으려면 디버그 keysym을 사용하십시오 XF86LogGrabInfo
. 터미널 런에서 xdotool
키 + XF86LogGrabInfo
를 동시에 누르는 데 사용
KEY=XF86AudioPlay
xdotool keydown ${KEY}; xdotool key XF86LogGrabInfo; xdotool keyup ${KEY}
그런 다음에 출력을 확인 tail /var/log/Xorg.0.log
하여 해당 주 gnome 3/gdm
및 systemd
이 더 이상 기록됩니다 Xorg.0.log
(그 대신에 기록되지 것 저널 ). 이 경우 당신은 실행할 수 있습니다
journalctl -f
그런 다음 다른 터미널에서 xdotool
명령을 실행하십시오 . 첫 번째 터미널로 전환하면 다음과 같은 내용이 표시됩니다
/usr/lib/gdm/gdm-x-session[629]: Active grab 0x40c0a58e (xi2) on device 'Virtual core keyboard' (3):
/usr/lib/gdm/gdm-x-session[629]: client pid 708 /usr/bin/gnome-shell
/usr/lib/gdm/gdm-x-session[629]: at 32595124 (from passive grab) (device frozen, state 6)
/usr/lib/gdm/gdm-x-session[629]: xi2 event mask for device 3: 0xc000
/usr/lib/gdm/gdm-x-session[629]: passive grab type 2, detail 0xac, activating key 172
위 예제에서 키를 잡은 프로그램 (클라이언트)은 gnome-shell
입니다.