Posso usar o xdotool como um auto-clicker?

5

Existe uma maneira que eu posso usar xdotool para realizar um certo número de cliques do mouse por segundo, mantendo pressionada uma determinada tecla?

    
por user276059 30.04.2014 / 00:42

2 respostas

1

Este é o meu script bash para xdotool . Você pode configurá-lo com um atalho de teclado. Pára quando você move o mouse. É claro que você pode fazer seu próprio roteiro para se adequar ao seu gosto.

#!/bin/bash
eval $(xdotool getmouselocation --shell)
echo $X $Y
x1=$X
y1=$Y
COUNTER=1
COUNTEND=100000
#REPEAT= 0.09s
while [ $COUNTER -lt $COUNTEND ]; do
  echo the counter is $COUNTER
  xdotool click 1
  eval $(xdotool getmouselocation --shell)
  # cancel if mouse moved
  if [ $x1 != $X ] || [ $y1 != $Y ]; then
    echo Mouse moved - script terminated
    exit 1
  fi
  #this sleep works for repetition rate
  sleep 0.01s
  let COUNTER=COUNTER+1
#  xdotool click --delay 90 --repeat 1000 1
done
    
por Fernando D Jaime 12.01.2018 / 15:42
0

Resposta parcial. Primeiro, você precisa ligar sua chave para executar o código. A maneira mais fácil que a IMHO faz é com o AutoKey, que fornece esse recurso junto com vários outros recursos de automação do teclado.

Uma vez que isso é feito, você apenas escreve uma macro de teclado muito pequena (em Python) que usa xdotool para emitir o evento do mouse e então dorme por um segundo dividido pelo número de eventos que você deseja por segundo. A parte sobre a qual não tenho certeza é a detecção da liberação da chave para interromper o processo, mas como a macro está escrita em Python, quase tudo deve ser possível.

Como o código leva tempo para ser executado, etc., isso não será exatamente o mesmo por segundo e você terá que ajustar o tempo de sono de acordo. Os cliques não serão perfeitamente igualmente espaçados pelas mesmas razões, bem como coisas como o carregamento do sistema.

Para aplicações mais práticas, uma abordagem como essa deve ser "boa o suficiente".

Se isso soa como funcionaria para você, então poderíamos nos aprofundar mais na implementação real dentro ou fora do fórum.

    
por Joe 06.05.2014 / 08:58

Tags