Il y a des tonnes d'utilitaires de ligne de commande pour le faire ... et je pense que choisir cette voie est votre meilleur pari ... Un avantage? est-ce que ces solutions devraient fonctionner, que les "touches de la souris" soient activées ou non, non? L' un de mes faves particulier est cliclick
Clic ”est l'abréviation de“ Command-Line Interface Click ”. > C’est une application shell / terminal minuscule qui émule des clics de souris ou une série de clics de souris (y compris des clics de souris et des clics de contrôle) à des coordonnées d’écran arbitraires.
Il s’agit donc d’un outil d’automatisation / de scriptage de choses qui ne pourraient pas être scriptées autrement (par exemple, en utilisant AppleScript). À l'exception des scripts d'interface graphique, il n'est pas nécessaire d'activer l'option "Accès pour appareils d'assistance" dans les Préférences Système.
Usage:
$ cliclick c m
"Ctrl-clic" sur l'emplacement actuel de la souris, mais vous pouvez également spécifier les coordonnées, Shift-clic, double-clic, etc. Il peut également renvoyer les coordonnées de la souris avec un -q
argument et ramener la souris à l'emplacement d'origine. (lors de la spécification des coordonnées) avec l' -r
argument.
Dans ton cas, je suppose que tu voudrais juste ...
do shell script "cliclick c m"
depuis votre AppleScript / Workflow / peu importe ...
Un excellent article à ce sujet sur le site de MacWorld ( né de Mac OS X Hints ) - sur lequel j'ai glané de nombreuses bonnes informations au fil des ans. Si vous ne vous souciez pas de ma réponse, vous trouverez sûrement une solution qui vous plaira, là ... il y a des astuces à faire sourire tout le monde - d'un monstre Automator = à un C grincheux.
Mise à jour:
Il semble y avoir des moyens - de le "faire" dans AppleScript .. mais ils semblent tous exiger de savoir où se trouve votre souris ... ce qui, je suppose, ne vous convient pas. Donc, dans un jeu ringard pour un représentant embarrassant ... J'ai écrit ceci ..
do shell script "python -c 'import sys, time; from Quartz.CoreGraphics import *;
def mouseEvent(type, posx, posy):
theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft);
CGEventPost(kCGHIDEventTap, theEvent);
def mouseclickdn(posx,posy):
mouseEvent(kCGEventLeftMouseDown, posx,posy);
def mouseclickup(posx,posy):
mouseEvent(kCGEventLeftMouseUp, posx,posy);
ourEvent = CGEventCreate(None);
currentpos = CGEventGetLocation(ourEvent);
print currentpos[0];
print currentpos[1];
mouseclickdn(currentpos.x, currentpos.y);
mouseclickup(currentpos.x, currentpos.y)'
"
Qu'est-ce que c'est?
- AppleScript appelle 'do shell script'.
- Ce qui appelle ensuite Python - avec un argument de ligne de commande (
-c
) = qui a été échappé et cajoled = pour coopérer avec A / S.
- Python "importe" CoreGraphics / Quartz, etc.
- Et définit certaines méthodes Cocoa-API / PyObjC pour "traiter" la souris.
- Python "détermine" où se trouve la souris.
- Et des clics! (en bas, puis en haut)
- En prime, il renvoie les coordonnées de la souris, «si cela vous intéressait».
Fonctionne à 100% et n'est même pas si lent. J'espère que vous aimez!
Modifier:
Voici le BASH one-liner, pour les puristes / haineux A / S.
echo -e "import sys, time; from Quartz.CoreGraphics import *\ndef mouseEvent(type, posx, posy): theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft); CGEventPost(kCGHIDEventTap, theEvent);\ndef mouseclickdn(posx,posy): mouseEvent(kCGEventLeftMouseDown, posx,posy);\ndef mouseclickup(posx,posy): mouseEvent(kCGEventLeftMouseUp, posx,posy);\nourEvent = CGEventCreate(None); currentpos = CGEventGetLocation(ourEvent); print currentpos[0]; print currentpos[1]; mouseclickdn(currentpos.x, currentpos.y);\nmouseclickup(currentpos.x, currentpos.y);" | python