为什么我的 xdotool 键命令不起作用?

为什么我的 xdotool 键命令不起作用?

我正在尝试运行这个命令:

xdotool key ctrl+super+d

它应该可以切换显示桌面,但是不起作用。当我自己按下按键时,它却可以工作。

答案1

正确的命令是:

xdotool key Control_L+Super_L+d

要找到正确的 key- 提及,请使用xev:在终端窗口中,运行命令xev+ Return,然后键入您想要在xdotool命令中使用的键。输出将如下所示:

KeyPress event, serial 37, synthetic NO, window 0x4c00001,
    root 0x260, subw 0x0, time 64862215, (-177,259), root:(1325,592),
    state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

您正在寻找的信息位于以下部分:

(keysym 0xffeb, Super_L)

或者,您可以使用 -value keysym

xdotool key Control_L+0xffeb+d

或关键代码:

xdotool key Control_L+133+d

附加信息

正如@DKBose 所述:
on 14.04,OP 使用的命令应该工作,如下man xdotool所述14.04.3

通常,任何有效的 X Keysym 字符串都可以使用。多个键用“+”分隔。“alt”、“ctrl”、“shift”、“super”和“meta”都有别名,它们都映射到 Foo_L,例如 Alt_L 和 Control_L 。

但是,OP 提到了标签15.04,而在 中15.04, 中的段落丢失了man xdotool,并且别名不再起作用。xev应该使用 输出中找到的值。

答案2

这听起来可能有点傻,但请验证您使用的是 X11 而不是 Wayland:

echo $XDG_SESSION_TYPE

如果输出则wayland不起作用(X操作工具

相关内容