Instalando o XDOTOOL
Para instalar o XDOTOOL no Ubuntu, execute o comando abaixo:
$ sudo apt install xDotool
Para instalar o XDOTOOL em outras distribuições Linux, procure o termo "xDotool" no gerenciador de pacotes. XDOTOOL está incluído nos repositórios da maioria das distribuições Linux.
Simular um pressionamento de teclas
Você pode usar o XDOTOOL para simular um pressionamento de tecla executando o comando abaixo. Substitua "n" por qualquer chave ou caractere válido no layout do teclado.
$ xDotool Key n
Observe que o comando acima simulará uma imprensa de teclas e uma liberação de teclas uma após a outra e você não notará nenhum atraso entre esses eventos. Caso você queira simulá -los separadamente, use os seguintes comandos:
$ xDotool keydown n
$ xDotool keyup n
Simular um pressionamento de tecla com uma chave de modificador
As teclas modificadoras modificam o comportamento das teclas quando duas ou mais teclas são pressionadas simultaneamente. E.g. , e assim por diante. O processo para executar combinações de chaves usando o XDOTOOL também é bastante semelhante:
$ xDotool Key Ctrl+S
Você pode encontrar nomes corretos para as teclas do teclado usando o seguinte comando:
$ xev
Uma pequena janela será aberta. Mantenha -o focado e pressione qualquer tecla. Você receberá o nome da chave na saída do terminal.
Simular chaves repetidas / turbo / fogo rápido
Para simular múltiplos pressionamentos de teclas por um período de tempo, você precisará especificar quantas vezes as teclas de teias precisam ser simuladas e atraso entre cada tecla Pressione. Para fazer isso, execute um comando no seguinte formato:
$ xDOTOOL KEY -REPEAT 5 -Dellay 50 N
Substitua os valores de interruptores “-Peat” e “-delay” (em milissegundos) de acordo com seus requisitos. Observe que eu tinha problemas de repetição quando defini o atraso como mais de 500 ms. Isso pode ser um comportamento de bug ou pretendido e, se você estiver enfrentando problemas semelhantes, evite definir valores de alto atraso. Você pode usar as declarações de loop "para" e "enquanto" para superar essa limitação.
O comando declarado abaixo inserirá a chave "n" três vezes com um atraso de 2 segundos entre cada pressionamento.
$ para i em 1… 3; Faça a chave XDOTOOL N; sono 2; feito
Você também pode usar um loop de tempo para simular repetidamente os presságios de chave até que o loop seja interrompido manualmente usando a chave.
$ enquanto é verdadeiro; Faça a chave XDOTOOL N; sono 2; feito
Simular uma sequência -chave
Para simular várias chaves uma após a outra, use um comando no seguinte formato:
$ xDotool Key x y z
Simular os cliques do mouse
Para simular um clique com o botão direito do mouse no local atual do ponteiro, execute o comando abaixo:
$ xDoTool Clique em 3
Substitua “3” por qualquer número da referência abaixo:
Se você deseja usar um conjunto diferente de coordenadas, use um comando no seguinte formato:
$ xDotool Mousemove 100 100 Clique em 3
Substitua "100" pelas coordenadas desejadas como "x" e "y" do canto superior esquerdo da tela.
Observe que vários exemplos explicados até agora com teclas também podem ser usados com cliques de mouse.
Obtenha janela ativa e minimize -a
O comando a seguir terá o ID da janela atualmente em foco e, em seguida, minimizará:
$ xDOTOOL GetActiveWindow WindowMinimize
Consulte a página do homem
O XDOTOOL inclui inúmeras opções e você pode usar inúmeras combinações diferentes para personalizar o comportamento de teclas e cliques de mouse. Não é possível cobrir todos os casos de uso aqui, você pode consultar a página do homem executando o comando abaixo:
$ MAN XDOTOOL
Você também pode acessar a página do homem online.
Mapa comandos e scripts XDOTool para atalhos de teclado
Você pode usar os atalhos de teclado GUI de configuração disponível nas configurações do sistema de sua distribuição para atribuir comandos simples xdotool a atalhos de teclado personalizados. Em caso de declarações complexas e múltiplas, salve os comandos em um script e depois mapeie o script para o atalho do teclado.
Conclusão
XDOTOOL é um dos melhores utilitários disponíveis para automatizar entradas de teclado e mouse no Linux. Você pode executar macros simples, bem como comandos complexos encadeando várias entradas simuladas.