4

我希望将击键(包括 shift、ctrl、cmd、opt 组合)发送到 OSX。基本上我可以在键盘上做的任何事情。

我该如何做到这一点?

我也想发送鼠标点击。这是单独查询吗?

4

2 回答 2

6

You can use the CGEvent APIs, such as CGEventCreateKeyboardEvent followed by CGEventPost.

于 2011-11-06T16:18:54.450 回答
4

使用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 脚本,您还可以发送鼠标点击。这些往往涉及更多。以下是我编写的一个applescript,用于禁用系统偏好设置中与触控板和三指双击相关的选项。

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
于 2011-11-06T20:56:18.527 回答