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