Jak można wywołać skrót klawiaturowy z poziomu Applescriptu?
Muszę wywołać skrót klawiaturowy z kodu AppleScript, np. Cmd+Ctrl+Opt + E.
4 answers
Jasne, że działa. Zdarzenia systemowe mogą wykonywać naciśnięcia klawiszy. Jednak naciśnięcia klawiszy są zawsze wysyłane do pierwszej aplikacji, więc aby wykonać skrót dla aplikacji, musisz najpierw aktywować tę aplikację, a następnie wykonać Skrót. Na przykład, mogę otworzyć nową kartę w Safari za pomocą polecenia-t. applescript wyglądałby tak...
tell application "Safari" to activate
tell application "System Events"
keystroke "t" using command down
end tell
Załóżmy, że masz globalny Skrót klawiszowy. Globalne, co oznacza, że działa z każdej aplikacji. Wtedy nawet nie trzeba aktywować najpierw wykonaj naciśnięcie klawisza. Aby nacisnąć klawisze, o które prosiłeś, zrób to...
tell application "System Events"
keystroke "e" using {command down, option down, control down}
end tell
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-12 23:51:49
Można wywołać naciśnięcie klawisza, lub jeśli Skrypty GUI są włączone, można wybrać element menu z menu.
Oto świetny link wyjaśniający to szczegółowo.
Http://hints.macworld.com/article.php?story=20060921045743404
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-16 18:07:55
W zależności od tego, jaki ma być skrót klawiaturowy, można użyć zdarzeń obrysu klawisza, na przykład
Tell application " zdarzenia systemowe" naciśnięcie klawisza "e" za pomocą {command down, option down, control down} end tell
Zamień " e " po naciśnięciu klawisza na słowo lub słowa, które chcesz wprowadzić, a następnie zmień {command down, option down, control down} na które klucze chcesz być aktywowany w tym samym czasie.
Thankyou
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-02 02:37:36
activate application "Safari"
delay 3
tell application "System Events"
keystroke "t" using {command down}
delay 2
keystroke "www.google.com"
key code 36
end tell
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 03:04:17