Как можно вызвать сочетание клавиш из AppleScript? - PullRequest
27 голосов
/ 11 сентября 2010

Мне нужно вызвать сочетание клавиш из кода AppleScript, например, Cmd + Ctrl + Alt + E.

Ответы [ 4 ]

50 голосов
/ 13 сентября 2010

Конечно, это работает.Системные события могут выполнять нажатия клавиш.Однако нажатия клавиш всегда отправляются в самое переднее приложение, поэтому для выполнения ярлыка для приложения необходимо сначала указать этому приложению активироваться, а затем выполнить его.Например, я могу открыть новую вкладку в Safari с помощью команды -t.Этот яблочный скрипт будет выглядеть так ...

tell application "Safari" to activate
tell application "System Events"
    keystroke "t" using command down
end tell

Теперь предположим, что у вас есть глобальное сочетание клавиш.Глобальный смысл это работает из любого приложения.Тогда вам даже не нужно сначала активировать приложение, просто нажмите клавишу.Чтобы нажать запрошенные вами клавиши, сделайте это ...

tell application "System Events"
    keystroke "e" using {command down, option down, control down}
end tell
3 голосов
/ 16 августа 2013

Вы можете вызвать нажатие клавиши или, если включен сценарий GUI, вы можете выбрать пункт меню из меню.

Вот отличная ссылка, объясняющая это подробно.

http://hints.macworld.com/article.php?story=20060921045743404

0 голосов
/ 02 апреля 2014

в зависимости от того, какой комбинацией клавиш вы хотите пользоваться, вы будете использовать события нажатия клавиш, например,

сообщать приложению "Системные события" нажатие клавиши "e" с помощью {команда вниз, опция вниз, управление вниз} и конец сказать

замените «е» после нажатия клавиши на то, какое слово или слова вы хотите ввести, а затем измените {команду вниз, опция вниз, контроль вниз}, на какие клавиши вы хотите активировать одновременно.

спасибо

0 голосов
/ 28 марта 2014
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...