Il y a tonnes d'utilitaires en ligne de commande pour le faire... et je pense que c'est la meilleure solution... L'un des avantages ? c'est que ces solutions devrait fonctionnent, que les "touches de la souris" soient activées ou non, n'est-ce pas ? L'un de mes coups de cœur est cliquer
Cliclick" est l'abréviation de "Command-Line Interface Click". > Il s'agit d'une petite application shell / Terminal qui émule les clics ou séries de clics de souris (y compris les double-clics et les control-clics) à des coordonnées arbitraires de l'écran.
Il s'agit donc d'un outil permettant d'automatiser ou d'écrire des scripts qui ne peuvent pas être écrits autrement (par exemple, à l'aide d'AppleScript). À l'exception des scripts d'interface graphique, il n'est pas nécessaire d'activer l'option "Accès pour les appareils d'assistance" dans les préférences du système.
Utilisation :
$ cliclick c m
contrôlera le clic à l'endroit où se trouve la souris, mais vous pouvez également spécifier les coordonnées, faire un shift-click, un double-click, etc. Il peut également renvoyer les coordonnées de la souris à l'aide d'une fonction -q
et ramène la souris à son emplacement d'origine (si des coordonnées sont spécifiées) avec l'argument -r
argument.
Dans votre cas... Je suppose que vous auriez juste...
do shell script "cliclick c m"
depuis votre AppleScript / Workflow / ou autre...
Il y a un Excellent article sur ce sujet sur le site de MacWorld ( née Mac OS X Conseils ) - que j'ai glanés lots de bonnes informations au fil des ans. Si ma réponse ne vous intéresse pas, vous pourrez sûrement trouvez une solution qui vous plaise... il y a des astuces qui font sourire tout le monde - du fanatique d'Automator = à l'irréductible grincheux de C.
Mise à jour :
Il y a semblent Il semble qu'il y ait des moyens de "faire ça" en AppleScript mais ils semblent tous nécessiter la connaissance de la langue où se trouve votre souris ... ce qui, je suppose, n'est pas le cas. Alors, dans une tentative embarrassante d'obtenir une certaine notoriété... 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'.
- qui appelle ensuite Python - avec un argument de ligne de commande (
-c
) = qui a été s'est échappé et a été cajolé \= coopérer avec A/S.
- Python "importe" ensuite CoreGraphics/Quartz, etc.
- Et définit quelques méthodes Cocoa-API/PyObjC pour "gérer" la souris.
- Python "comprend" où se trouve la souris.
- Et des clics ! (vers le bas, puis vers le haut)
- En prime, il renvoie les coordonnées de la souris, "si cela vous intéresse".
Fonctionne à 100% et n'est même pas si lent. J'espère que vous l'apprécierez !
Editer :
Voici le one-liner de BASH, pour les puristes et les détracteurs de l'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