Cet article suggère que la commande tell application “System Events” to key code 37
dans AppleScript déplace le pointeur de la souris d’un pixel vers le bas et vers la gauche s’il est exécuté lorsque MouseKeys est activé. Sous OS X 10.7.2, toutefois, cela a pour effet de générer des minuscules l
et de ne pas déplacer la souris du tout.
De même, j'avais espéré tell application “System Events” to key code 34 using control down
envoyer un clic de contrôle au point actuel du curseur de la souris, mais cela ne semble pas être l'effet.
Est-ce que quelqu'un connaît une méthode qui fonctionne dans Lion sur un MacBook Air mi-2011 pour générer un clic ou un clic-droit sur l'emplacement actuel de la souris à l' aide d'AppleScript? Ce n'est pas grave si elle s'appuie sur MouseKeys et / ou les scripts de l'interface utilisateur.
Je préférerais que cela n'implique pas l'installation d'utilitaires de ligne de commande compilés, mais si de tels utilitaires existent et sont compatibles avec Lion, c'est bien mieux que rien.
la source
Réponses:
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
Usage:
"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 ..
Qu'est-ce que c'est?
-c
) = qui a été échappé et cajoled = pour coopérer avec A / S.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
la source
left
avecright
TWO kCGEvents. Vous pouvez également le déplacer avec quelque chose qui ressemble àdef mousemove(posx,posy): mouseEvent(kCGEventMouseMoved, posx,posy);
Voici le script que j'utilise pour générer des clics de souris
En guise d’explication, j’ai trouvé que je devais créer un petit mouvement de souris (88) avant que le clic de souris (87) fonctionne de manière cohérente. Cela repose sur MouseKeys.
la source