我已经尝试解决这个问题一段时间了,想知道您是否可以提供帮助。
使用 AppleScript,系统事件应用程序中有两个隐藏功能可用,它们允许您按下一个键(在完成其他操作(如单击)时保持按下),然后再次按下该键。
例如在这里查看答案 Applescript to run Detect Displays从而在执行点击时使用“向上键”和“向下键”。
但是为了这个例子,让我们使用一些非常简单的东西,一个保存快捷方式。
AppleScript 看起来像这样:
tell application "System Events"
key down command
keystroke "s"
key up command
end tell
我在 JXA 中最接近这个的如下所示,但无论我传递给 keyDown 什么,它都会发送字母“a”:
events = Application("System Events")
events.keyDown("command")
events.keystroke("s")
events.keyUp("command")
有什么想法吗?
谢谢!
福蒂斯
最佳答案
好的,这个解决方案很难找到,但我找到了:)
您可以使用特殊字符串 eCmd(命令)、eOpt(选项)和 eCnt(控制)来完成 SystemEvents.h 中定义的操作。
因此,以下代码有效!
events = Application("System Events")
events.keyDown("eCmd")
events.keystroke("s")
events.keyUp("eCmd")
希望这对外面的人有帮助。
关于javascript-automation - 使用 JXA 发送系统事件按键向下/向上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32021870/