【问题标题】:Using Applescript to Execute a Complicated Keystroke使用 Applescript 执行复杂的击键
【发布时间】:2016-10-29 23:11:21
【问题描述】:

我正在尝试在 Automator 中编写一个 Applescript,它会在按住控制、选项和命令的同时按下左箭头按钮。我到目前为止的代码是:

on run {input, parameters}

    tell application "System Events"
        tell application "Sublime Text 2" to activate
        keystroke "left" using {control down, option down, command down}
    end tell

    return input
end run

但是,这不起作用。关于如何修复此代码的任何建议? 谢谢!

【问题讨论】:

  • 您是否尝试将键盘上的主页和结束按钮映射为使用 command + right 或 left 进行映射?
  • 仅供参考:这实际上是在尝试键入单词“left”,同时按下所有三个修饰符。

标签: applescript


【解决方案1】:

使用箭头键时,您需要通过键码来定位它们。

tell application "Sublime Text 2" to activate

tell application "System Events" 
    key code 123 using {control down, option down, command down}
end tell

箭头键代码

  • 左:(键码 123)
  • 右:键码 124)
  • 向上:(键码 126)
  • 向下:(键码 125)

【讨论】:

    【解决方案2】:

    您可以使用任何 ASCII 代码,箭头键将是:

    告诉应用程序“系统事件”击键(ASCII 字符 31)--向下箭头

    告诉应用程序“系统事件”击键(ASCII 字符 30)--向上箭头

    告诉应用程序“系统事件”击键(ASCII 字符 29)--右箭头

    告诉应用程序“系统事件”击键(ASCII 字符 28)--左箭头

    链接:

    【讨论】:

    • 这些是 AppleScript KEY CODES,不是 ASCII,也不是那个混淆的第二个链接。见apple.stackexchange.com/questions/36943/…
    • 不,它们确实是 ASCII,如果您在单击第一个链接后进一步阅读,您会看到使用键代码的国际击键版本的建议。
    • 在重复错误信息之前,请检查可靠的参考资料(甚至是维基百科)。 Koenig 的 Apple 社区讨论回复提供了 KEY CODES,但错误地将它们称为 ASCII 代码。第二个链接同样错误地命名了 IBM437 代码。
    • 错误信息?你可能只需要更加小心使用这些尖锐的词。 AppleScript 语言指南本身谈到 ASCII 字符。作为一个命令,话虽如此,ASCII 字符命令 在 AppleScript 2 中已被弃用。至少因为该命令使用用户的语言首选项在整数和字符之间进行映射。所以我们不要再使用 ASCII 字符了。它不适用于 2020 年以上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    相关资源
    最近更新 更多