Isso não funciona com Wayland; se você está usando o Ubuntu 17.10 e não mudou para o Xorg no login, esta solução não é para você.
Você pode usar xdotool
para isso. Se o atraso entre as teclas for consistente , é simples assim:
xdotool type --delay 100 something
Isso digita something
com um atraso de 100
milissegundos entre cada pressionamento de tecla.
Se o atraso entre as teclas for aleatório , digamos de 100 a 300 milissegundos, as coisas ficam um pouco mais complicadas:
$ 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 -
Esse for
loop percorre todas as letras da sequência salva na variável text
, imprimindo um key <letter>
ou key space
no caso de um espaço seguido por sleep 0.
e um número aleatório entre 1 e 3 ( xdotool
's sleep
interpreta o número como segundos). Toda a saída do loop é então canalizada xdotool
, o que imprime as letras com o atraso aleatório no meio. Se você quiser alterar o atraso, basta alterar a parte, sendo o limite inferior e superior - por 0,2 a 0,5 segundos .(RANDOM%x)+y
y
x-1+y
(RANDOM%4)+2
Observe que essa abordagem não imprime o texto, mas digite -o exatamente como o usuário faria, sintetizando pressionamentos de tecla únicos. Em conseqüência, o texto é digitado na janela atualmente focada; se você alterar a parte do foco, o texto será digitado na janela recém-focada, que pode ou não ser o que você deseja. Em ambos os casos, dê uma olhada nas outras respostas aqui, todas brilhantes!