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.

Author: Barton, 2010-09-11

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
 48
Author: regulus6633,
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

 3
Author: Alex Zavatone,
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

 0
Author: Michael Sanders,
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
 -1
Author: Kristian,
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