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.
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.