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

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

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

我正在使用 Lubuntu 18.04 和

$ xdotool -v
xdotool version 3.20160805.1

答案1

手册确实说

按键之间的延迟。默认为 12ms。

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

为了获得按键之间暂停的期望行为,应该使用以下命令sleep

xdotool sleep 1 key 9

9将在一秒钟后按下。间隔一秒钟连续两次按下按键可以发出

xdotool sleep 1 key 9 sleep 1 key 2

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

#!/bin/sh
sleep 1
xdotool key 9
sleep 1
xdotool key 2

相关内容