![Como fazer um clicker automático com tecla global de início e parada](https://rvso.com/image/111969/Como%20fazer%20um%20clicker%20autom%C3%A1tico%20com%20tecla%20global%20de%20in%C3%ADcio%20e%20parada.png)
Então, eu tenho um script de clique automático que é este comando simples:Tributo
xdotool click --delay 5 --repeat 900000 1
Tenho que mudar para o terminal e Ctrl-C
interromper o script para interrompê-lo. Depois é só executá-lo novamente para reiniciar.
Então comecei a usar o read
comando para verificar a entrada de teclas para evitar essa alternância. No entanto, isso apenas verifica a entrada no terminal. Estou clicando em outro lugar e quero poder começar e parar a partir daí.
Existe uma versão read
que pode verificar as teclas digitadas globalmente?
Responder1
Ao digitar xinput --list
, você obtém uma lista de todos os dispositivos de entrada do seu sistema. Você também pode obter programaticamente o estado de cada chave usando xinput --query-state DEVICE_ID
.
1 class :
KeyClass
key[0]=up
key[1]=up
key[2]=up
...
Primeiro, você precisará descobrir o código-chave que deseja usar. Você pode fazer isso executando xinput --test DEVICE_ID
e pressionando a tecla.
key press ###
key release ###
Depois de encontrar a chave correta, crie um script como este.
#!/bin/bash
while true; do
# Replace DEVICE_ID and KEYCODE.
inp=`xinput --query-state DEVICE_ID | grep -o 'button\[KEYCODE\]=down'`
if [ ! -z "$inp" ]; then
xdotool click 1
fi
done
Isso irá enviar spam, clique no botão do mouse enquanto o usuário mantém pressionado um botão
Responder2
Você pode usar outra extensão - numlockx
Aqui está a ideia.
você instalaria xdotools e numlockx viasudo apt-get install -y numlockx xdotool
então você iria em frente e usaria algo assim.
DELAY=5
while true
do
NUMLOCK=$(numlockx status)
if [ "$NUMLOCK" == "Numlock is on" ]
then
xdotool click 1
fi
sleep $DELAY
done
Isso resulta em um clicker global com um atraso de 5 segundos associado ao seu numlock. você pode alterar o atraso para que ele clique em intervalos mais curtos.