Ci sono tonnellate di utilità da riga di comando per fare ciò ... e io credo che fare questa rotta sia la soluzione migliore ... Un vantaggio? è che queste soluzioni dovrebbero funzionare, indipendentemente dal fatto che i "tasti del mouse" siano attivi o meno, giusto? Uno dei miei preferiti in particolare è cliclick
Cliclick” is short for "Command-Line Interface Click". > It is a a tiny shell / Terminal application that will emulate mouse clicks or series of mouse clicks (including doubleclicks and control-clicks) at arbitrary screen coordinates.
Hence, it is a tool for automating / scripting things that cannot otherwise be scripted (for instance, using AppleScript). Other than GUI Scripting, it does not require "Access for assistive devices" to be activated in the System Preferences.
Utilizzo:
$ cliclick c m
farà "control-clic" sulla posizione corrente del mouse, ma puoi anche specificare le coordinate, shift-click, doppio clic, ecc. Può anche restituire le coordinate del mouse con un argomento -q
, e restituire il mouse nella posizione originale (quando si specificano le coordinate) con l'argomento -r
.
Nel tuo caso .. Immagino che avresti solo ...
do shell script "cliclick c m"
da dentro il tuo AppleScript / Workflow / qualunque cosa ...
C'è un GRANDE post su questo argomento sul sito MacWorld ( née Mac OS X Suggerimenti ) - che ho raccolto lotti di buone informazioni da, nel corso degli anni. Se non ti interessa la mia risposta, sicuramente trovi una soluzione che ti piace, lì ... ci sono gli hack per far sorridere tutti - da un fanatico di Automator = a un cazzardo irriducibile.
Aggiornamento:
Lì sembra essere in qualche modo - "farlo" in AppleScript .. ma sembra che tutti abbiano bisogno di sapere dove il tuo mouse è ... quale io supponi di no. Quindi in un gioco imbarazzante da nerd per qualche rappresentante ... Ho scritto questo ..
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)'
"
Che diavolo è?
- le chiamate AppleScript "fanno lo script di shell".
- Che poi chiama Python - con un argomento della riga di comando (
-c
) = che è stato fuggito e cajoled = per collaborare con A / S.
- Python quindi "importa" CoreGraphics / Quartz, ecc.
- E definisce alcuni metodi Cocoa-API / PyObjC per "trattare con" il mouse.
- Python "mostra" dove si trova il mouse.
- E clic! (giù, poi su)
- Come bonus, restituisce le coordinate del mouse, "se sei interessato_.
Funziona al 100% e non è nemmeno così lento. Spero vi piaccia!
Modifica:
Ecco il one-liner BASH, per i puristi / nemici dell'ha / 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