Como usar o XDOTOOL para estimular os cliques e pressionamentos de teclas do mouse no Linux

Como usar o XDOTOOL para estimular os cliques e pressionamentos de teclas do mouse no Linux
XDOTOOL é uma ferramenta de linha de comando de código aberto e livre para simular cliques e pressionamentos de teclas do mouse. Este artigo abordará um breve guia sobre o uso do XDOTOOL para automatizar as entradas do teclado e do mouse. XDOTOOL funciona apenas no X Display Server, e não há suporte para Wayland (no momento da redação deste artigo).

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:

  • 1 - Clique esquerdo
  • 2 - clique do meio
  • 3 - Clique com o botão direito
  • 4 - Rolagem de rolagem para cima
  • 5 - Rolagem de rolagem para baixo

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.