Это не работает с Wayland; если вы используете Ubuntu 17.10 и не переходили на Xorg при входе в систему, это решение не для вас.
Вы можете использовать xdotool
для этого. Если задержка между нажатиями клавиш должна быть постоянной , это так просто:
xdotool type --delay 100 something
Это происходит something
с задержкой в 100
миллисекунды между каждым нажатием клавиши.
Если задержка между нажатиями клавиш должна быть случайной , скажем, от 100 до 300 миллисекунд, все становится немного сложнее:
$ text="some text"
for ((i=0;i<${#text};i++));
do
if [[ "${text:i:1}" == " " ]];
then
echo -n "key space";
else
echo -n "key ${text:i:1}";
fi;
[[ $i < $((${#text}-1)) ]] && echo -n " sleep 0.$(((RANDOM%3)+1)) ";
done | xdotool -
Этот for
цикл проходит через каждую букву строки , сохраненной в переменной text
, либо печати key <letter>
или key space
в случае пространства с последующим sleep 0.
и случайное число между 1 и 3 ( xdotool
«сек sleep
интерпретирует число в секундах). Затем выводится весь вывод цикла xdotool
, который печатает буквы со случайной задержкой между ними. Если вы хотите изменить задержку, просто измените деталь, будучи нижним и верхним пределом - на 0,2-0,5 секунды это будет .(RANDOM%x)+y
y
x-1+y
(RANDOM%4)+2
Обратите внимание , что этот подход не печатать текст, а тип его так же , как пользователь будет делать, синтезируя одиночные нажатия клавиш. В результате текст печатается в текущем окне; если вы измените фокус, часть текста будет напечатана во вновь сфокусированном окне, что может быть или не быть тем, что вы хотите. В любом случае посмотрите на другие ответы здесь, все из которых являются блестящими!