Hay toneladas de utilidades de línea de comando para hacer esto ... y creo que esta es la mejor opción ... ¿un beneficio? es que estas soluciones deberían funcionar, independientemente de si las "teclas del mouse" están activadas, ¿no? Uno de mis favoritos en particular es hacer clic en
Cliclick ”es la abreviatura de" Interfaz de la línea de comandos ". > Es una pequeña aplicación de shell / terminal que emulará clics del mouse o una serie de clics del mouse (incluyendo dobleclicks y clics de control) en coordenadas de pantalla arbitrarias.
Por lo tanto, es una herramienta para automatizar / hacer scripts de cosas que de otra manera no pueden ser escritas (por ejemplo, usando AppleScript). Aparte de las secuencias de comandos GUI, no requiere que se active el "Acceso para dispositivos de asistencia" en las Preferencias del sistema.
Uso:
$ cliclick c m
hará "control-clic" en la ubicación actual del mouse, pero también puede especificar las coordenadas, shift-click, doble clic, etc. También puede devolver las coordenadas del mouse con un argumento -q
y regresar el mouse a la ubicación original (cuando se especifican coordenadas) con el argumento -r
.
En tu caso ... supongo que simplemente ...
do shell script "cliclick c m"
desde tu AppleScript / Workflow / lo que sea ...
Hay un GRAN publicación sobre este tema en el sitio de MacWorld ( née Mac OS X Sugerencias ) - a lo largo de los años, he recopilado muchos de buena información. Si no te importa mi respuesta, seguramente encontrará una solución que le GUSTE, hay ... hay trucos para hacer que todos sonrían, desde un monstruo de Automator = hasta un C diehard gruñón.
Actualizar:
Parece que hay algunas formas de "hacerlo" en AppleScript ... pero parece que todas requieren saber dónde está su mouse ... cuál asume que no lo haces Así que en un juego vergonzosamente nerd para un representante ... escribí esto ...
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é diablos es?
- AppleScript llama 'do shell script'.
- que luego llama a Python - con un argumento de línea de comando (
-c
) = que se ha escapado y engatusado = para cooperar con A / S.
- Python luego "importa" CoreGraphics / Quartz, etc.
- Y define algunos métodos Cocoa-API / PyObjC para "tratar con" el mouse.
- Python "se da cuenta" donde está el mouse.
- ¡Y clics! (abajo, luego arriba)
- Como beneficio adicional, devuelve las coordenadas del mouse, 'si estuvieras interesado_.
Funciona al 100% y ni siquiera ES TAN lento. Espero que te guste!
Editar:
Aquí está el BASH de una sola línea, para los puristas / A / S que odian.
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