Отправка событий нажатия клавиш в OSX - PullRequest
3 голосов
/ 06 ноября 2011

Я хочу отправить нажатия клавиш, включая shift, ctrl, cmd, opt комбинации, в OSX. В основном все, что я могу сделать на клавиатуре.

Как мне это сделать?

Я также хотел бы отправить щелчки мышью. Это отдельный запрос?

Ответы [ 2 ]

6 голосов
/ 06 ноября 2011

Вы можете использовать CGEvent API, такие как CGEventCreateKeyboardEvent, за которыми следует CGEventPost.

4 голосов
/ 07 ноября 2011

С помощью appleScript вы можете отправить любой ключ, какой захотите.Вот пример использования различных методов отправки ключей:

tell application "System Events"
    keystroke "h"
    keystroke (ASCII character 63)
    key code 38 -- Applescript's reference to keys
    keystroke "k" using {command down, control down}
end tell

С помощью сценариев GUI вы также можете отправлять щелчки мыши.Они, как правило, немного более вовлечены.Ниже приведен яблочный скрипт, который я написал, чтобы отключить опцию в Системных настройках, относящуюся к трекпаду и двойному касанию тремя пальцами.

tell application "System Preferences"
    set current pane to pane "Trackpad"
    tell application "System Events"
        tell process "System Preferences"
            if window 1's tab group 1's checkbox 3's value is 1 then
                tell window 1's tab group 1's checkbox 3 to click
            end if
        end tell
    end tell
    quit
end tell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...