man-страница xdotool говорит
- delay миллисекунды Задержка между нажатиями клавиш. По умолчанию 12 мс.
Я думал, что строка ключа
будет вводить каждый символ в строке один раз, а - задержка
предназначена для паузы между вводом двух последовательных символов. Так почему же следующие первые две команды ничего не показывают, в то время как третья вводит дважды, а последняя - много раз? Спасибо.
$ 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
В руководстве действительно говорится
Задержка между нажатиями клавиш. По умолчанию 12 мс.
Это приводит к тому, что между каждым (имитируемым) нажатием и отпусканием клавиши будет задержка на установленное значение. Однако эта опция ведет себя так, как если бы клавиша была нажата в течение периода, указанного задержкой, без такой задержки между различными нажатиями клавиш. Когда задержка достаточно велика, срабатывает автоповтор, и персонаж повторяется.
Для получения желаемого поведения при наличии паузы между нажатиями клавиш лучше использовать команду sleep
:
xdotool sleep 1 key 9
9 будет нажата через одну секунду. Два последовательных нажатия клавиш с интервалом в одну секунду могут быть выполнены
xdotool sleep 1 key 9 sleep 1 key 2
.В качестве альтернативы, при работе со сценариями bash можно ввести задержку с помощью команды bash sleep
между вызовами xdotool
.
#!/bin/sh
sleep 1
xdotool key 9
sleep 1
xdotool key 2