我正在尝试运行这个命令:
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操作工具