Próbowałem wykonać następujące kombinacje klawiszy bezskutecznie:
- Command + Return ... + Space
- Opcja + Return ... + Spacja
- Control + Return ... + Space
- Command + Shift + \ (polecenie „Pokaż wszystkie karty” na moim Macbooku)
To prowadzi mnie do przekonania, że to naprawdę niedopatrzenie ze strony Apple.
Kludge: Utwórz polecenie Automatora, aby zasymulować kliknięcie myszą
Użyłem kodu, który znalazłem na https://discussions.apple.com/thread/3708948, aby zebrać następujące skrypty AppleScript:
Próba 1: Nie działałem
Uruchomiłem ten kod w Applecript owiniętym w usłudze Automator zamapowanej na „Command + Shift + Opcja + Control + Spacja”, używając liczb, które otrzymałem po naciśnięciu „Command + Control + Shift + 4”, aby uzyskaj adres dla obszaru (600 pikseli w poziomie od lewej, 300 pikseli w pionie od góry) i działałoby to w normalnym Safari (naciśnięcie kombinacji klawiszy spowodowałoby kliknięcie myszą na ten adres w pikselach), ale nie działało, gdy to samo polecenie klawisza zostało uruchomione w trybie „Pokaż wszystkie karty” w Safari!
on run {input, parameters}
tell application "System Events"
tell process "Safari"
click at {600, 300}
end tell
end tell
return input
end run
Próba nr 2: zadziałało, ale nie jest możliwe
Dostałem kluczową komendę pracującą z następującym Applecript zawiniętym w usługę Automator, ale jej ukończenie zajęło 5.125 sekundy :(
on run {input, parameters}
set x to 600
set y to 150
do shell script "
/usr/bin/python <<END
import sys
import time
from Quartz.CoreGraphics import *
def mouseEvent(type, posx, posy):
theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft)
CGEventPost(kCGHIDEventTap, theEvent)
def mousemove(posx,posy):
mouseEvent(kCGEventMouseMoved, posx,posy);
def mouseclick(posx,posy):
mouseEvent(kCGEventLeftMouseDown, posx,posy);
mouseEvent(kCGEventLeftMouseUp, posx,posy);
ourEvent = CGEventCreate(None);
currentpos=CGEventGetLocation(ourEvent); # Save current mouse position
mouseclick(" & x & "," & y & ");
mousemove(int(currentpos.x),int(currentpos.y)); # Restore mouse position
END"
return input
end run