【问题标题】:Sending keystroke events to OSX将击键事件发送到 OSX
【发布时间】:2011-12-23 01:14:12
【问题描述】:

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

我该如何做到这一点?

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

【问题讨论】:

标签: macos events send keystroke


【解决方案1】:

使用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

【讨论】:

    【解决方案2】:

    您可以使用CGEvent API,例如CGEventCreateKeyboardEvent 后跟CGEventPost

    【讨论】:

      猜你喜欢
      • 2017-07-28
      • 2019-03-07
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多