“xdotool key --delay”是否会在每两个连续按键之间暂停指定的延迟?

Tim*_*Tim 5 xdotool

xdotool 的联机帮助页说

-- 延迟毫秒 击键之间的延迟。默认值为 12 毫秒。

我认为这key string将在字符串中输入每个字符一次,并且--delay用于在输入两个连续字符之间暂停。那么为什么下面的前两个命令不显示键入任何内容,而第三个命令键入两次,最后一个键入多次?谢谢。

$ xdotool key 9
$ xdotool key --delay 2 9
$ xdotool key --delay 1000 9
99$ xdotool key --delay 10000 9
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999^C
Run Code Online (Sandbox Code Playgroud)

我正在使用 Lubuntu 18.04 和

$ xdotool -v
xdotool version 3.20160805.1
Run Code Online (Sandbox Code Playgroud)

van*_*ium 6

说明书确实说

按键之间的延迟。默认值为 12 毫秒。

这导致预期在每次(模拟)按下和释放按键之间,都会有设定值的延迟。然而,该选项的行为就像在延迟指示的时间段内按下按键一样,在不同的按键之间没有这样的延迟。当延迟足够长时,自动重复就会启动并重复该字符。

要在按键之间有暂停的情况下获得所需的行为,应该使用以下命令sleep

xdotool sleep 1 key 9
Run Code Online (Sandbox Code Playgroud)

9一秒钟后将被按下。间隔一秒的两次连续按键可以通过以下方式发出

xdotool sleep 1 key 9 sleep 1 key 2
Run Code Online (Sandbox Code Playgroud)

sleep或者,在使用 bash 脚本时,可以使用 bash命令在 的调用之间引入延迟xdotool

#!/bin/sh
sleep 1
xdotool key 9
sleep 1
xdotool key 2
Run Code Online (Sandbox Code Playgroud)