Існує тонн утиліти командного рядка, щоб зробити це ... і я вважаю, що цей маршрут ваш найкращий вибір ... Одна користь? є те, що ці рішення слід працювати, незалежно від того, увімкнено чи не "клавіші миші"? Один з моїх особливі фави є клік
Cliclick ”- це скорочення від" Command-Line Interface Click ". & gt; Це крихітна оболонка / термінал, що емулює клацання миші або серію клацань миші (у тому числі подвійних клацань і клавіш керування) на довільних координатах екрана.
Таким чином, це інструмент для автоматизації / сценаріїв речей, які не можна іншим сценарієм (наприклад, за допомогою AppleScript). За винятком графічного інтерфейсу, він не вимагає активації "Доступ для допоміжних пристроїв" у Системних настройках.
Використання:
$ cliclick c m
"контролюватиме" поточне місце розташування миші, але ви також можете вказати координати, клацнути, двічі клацнути і т.д. Вона також може повернути координати миші -q
аргумент, і повернути мишу до початкового розташування (при заданні координат) за допомогою -r
аргумент.
У вашому випадку .. Я думаю, ви б просто ...
do shell script "cliclick c m"
всередині вашого AppleScript / Workflow / будь-якого ...
Є ВЕЛИКИЙ пост на цю тему на сайті MacWorld ( Підказки для Mac OS X ) - що я почерпнув лоти хорошої інформації з, протягом багатьох років. Якщо ви не дбаєте про мою відповідь, ви це зробите безумовно знайти рішення, яке вам подобається, там ... є хакі, щоб змусити кожного посміхнутися - від уродженого Automator = до сварливої C твердої.
Оновити:
Там здається це деякі способи - "зробити це" в AppleScript .. але всі вони, здається, вимагають знання де ваша миша ... що я припускаю, що ви цього не зробите. Отже, в незручно грати для деяких реп ... Я написав це ..
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)'
"
Що, чорт візьми, це?
- Заклики AppleScript 'робити скрипт оболонки'.
- Потім викликає Python - з аргументом командного рядка (
-c
) = це було втік і ухилився = співпрацювати з A / S.
- Пітон потім "імпортує" CoreGraphics / Quartz і т.д.
- І визначає деякі методи Cocoa-API / PyObjC для "роботи з" мишею.
- Python "з'ясовує", де знаходиться миша.
- І кліки! (вниз, потім вгору)
- Як бонус, він повертає координати миші, 'якщо ви були зацікавлені_.
Працює на 100% і навіть не так повільно. Сподіваюся, вам сподобається!
Редагувати:
Ось один лайнер BASH для пуристів / ненависників 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