And*_*edd 40 keyboard-shortcuts xfce x11 events
我在带有 4.2.0 内核的 Gentoo 之上运行 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
Run Code Online (Sandbox Code Playgroud)
don*_*sti 27
要找出哪个应用程序/程序获取了您的密钥,请使用调试 keysym XF86LogGrabInfo
。用于xdotool
同时按 + 键XF86LogGrabInfo
,例如在终端运行中
KEY=XF86AudioPlay
xdotool keydown ${KEY}; xdotool key XF86LogGrabInfo; xdotool keyup ${KEY}
Run Code Online (Sandbox Code Playgroud)
然后检查输出,tail /var/log/Xorg.0.log
注意 withgnome 3/gdm
并且systemd
这不再记录到Xorg.0.log
(而是记录到journal)。在这种情况下,你可以运行
journalctl -f
Run Code Online (Sandbox Code Playgroud)
然后在另一个终端中运行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
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,获取密钥的程序(客户端)是gnome-shell
.