1 votes

Comment simuler plusieurs clics de souris tout en maintenant le bouton de la souris enfoncé ?

Je veux que ma souris effectue un auto-clic rapide lorsque je maintiens le bouton gauche de la souris et qu'elle s'arrête dès que je relâche le bouton gauche. Comment puis-je faire cela ?

J'ai cherché pendant des heures, je n'ai rien trouvé ! Existe-t-il un moyen de le faire avec AppleScript ? Ou s'il y a une application gratuite qui peut le faire, c'est parfait aussi.

1 votes

Y a-t-il une raison pour laquelle vous aimeriez utiliser le bouton de votre souris plutôt qu'un raccourci clavier ? La plupart des auto-clics, dont il existe une pléthore, peuvent faire ce que vous décrivez en réponse à une commande clavier mais pas à un clic de souris.

1voto

Eric Jones Points 53

J'ai trouvé une solution pour vous. Il y a quelques pièces, il m'a fallu une éternité pour la trouver et elle pourrait probablement être polie, mais elle est assez proche de ce que vous vouliez. La seule chose que je ne peux pas nous voir être en mesure d'accomplir est de maintenir la souris enfoncée pour le faire. Je n'ai pas pu trouver quelque chose qui nous permettrait d'utiliser le mouseup pour désactiver notre boucle de clics, alors j'ai utilisé une bascule : Cliquez une fois pour lancer nos clics fous, et cliquez à nouveau pour l'arrêter (j'ai utilisé le bouton de clic du milieu pour le démarrage et l'arrêt).

Nous utilisons applescript, un outil de ligne de commande pour OSX appelé MouseTools, et une application appelée MagicPref pour affecter le script à l'un de nos boutons de souris.

une fois que vous avez téléchargé et extrait MouseTools, c'est juste un lot script. Je l'ai mis avec mes applescripts dans le même dossier (j'ai nommé le dossier superclicks ). Il ne nous reste plus qu'à créer une boucle qui clique à l'emplacement actuel de la souris, et un moyen de sortir de cette boucle.

Voici les deux applications applescript que nous réalisons :

launch.app

global thisFile
set thisFile to (path to me)

global thisFolder
tell application "Finder" to set thisFolder to container of thisFile as text

# Function to check current state / should we should stop clicking
on checkstate()
local clickState
tell application "Finder"
    if exists file (thisFolder & "STOP_CLICKING.txt") then
        set clickState to false
    else if exists file (thisFolder & "CLICKING.txt") then
        set clickState to true
    else
        set clickState to null
    end if
end tell
return clickState
end checkstate

#function to update state of clicking via text files
#im sure there is a better way, but this certainly works
on togglestate()
if checkstate() is null then
    tell application "Finder" to make new file at thisFolder with properties     {name:"CLICKING.txt"}
else if checkstate() is true then
    tell application "Finder" to make new file at thisFolder with properties {name:"STOP_CLICKING.txt"}
else if checkstate() is false then
    tell application "Finder"
        delete file (thisFolder & "CLICKING.txt")
        delete file (thisFolder & "STOP_CLICKING.txt")
    end tell
end if
end togglestate

togglestate()
#we dont really want 3 states so we'll toggle again after a reset
if checkstate() is null then togglestate()

if checkstate() is true then
tell application "Finder"
    open (thisFolder & "clicking_script")
end tell
end if

clicking_script.app

global thisFile
set thisFile to (path to me)

global thisFolder
tell application "Finder" to set thisFolder to container of thisFile as text

## Function to check current state / should we should stop clicking
on checkstate()
local clickState
tell application "Finder"
    if exists file (thisFolder & "STOP_CLICKING.txt") then
        set clickState to false
    else if exists file (thisFolder & "CLICKING.txt") then
        set clickState to true
    else
        set clickState to null
    end if
end tell
return clickState
end checkstate

# let the clicking begin
on crazyClick()
set x to 0
repeat until checkstate() = false or x = 1000
    do shell script ((POSIX path of thisFolder as text) & "mousetools -leftClick")
    do shell script ((POSIX path of thisFolder as text) & "mousetools -releaseMouse")
    set x to (x + 1)
    delay 0
end repeat
end crazyClick

crazyClick()

Ces deux scripts doivent être enregistrés en tant qu'applications. Une fois que vous avez ces trois éléments dans votre dossier, tout ce que vous devez faire est d'assigner launch.app comme une application personnalisée à lancer pour un clic particulier à l'aide de MagicPrefs.

Lorsque vous activez le script, il clique comme un fou jusqu'à ce que vous l'activiez à nouveau, ce qui rompt la boucle en ajoutant quelques fichiers texte vides dans le dossier. Nous avons utilisé les fichiers texte comme un moyen simple d'avoir des variables externes.

J'ai zippé tous les fichiers pour un téléchargement facile.

Ce n'est peut-être pas parfait, mais c'est un bon début pour voir ce qu'on peut faire de créatif avec l'automatisation.

0 votes

Soyez prudent en l'exécutant sans la configuration du raccourci. Il clique très rapidement et il pourrait être difficile de sortir de la boucle si vous ne pouvez pas relancer l'application. La boucle s'arrête toujours après 1000 clics. Vous pouvez donc attendre une seconde et elle s'arrêtera. J'espère que cela vous aidera.

0 votes

@Jawa merci pour l'édition. Je pense que j'étais trop fatigué pour faire fonctionner le markdown pour un bloc de code. Cette approche vous a-t-elle aidé ?

0 votes

Je n'ai pas essayé, je n'en ai pas besoin personnellement mais ça semble légitime.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X