如何在 Applescript(Big Sur)中模拟“播放/暂停”按钮按键

如何在 Applescript(Big Sur)中模拟“播放/暂停”按钮按键

我正在运行 Big Sur,并使用带有箭头键和数字键盘的 Apple USB 键盘,并且有功能键 F1、F2、F3、...F19

该键 (F19) 位于右上角。我想将此键指定为 F8 键上已存在的媒体“播放/暂停”按钮。

我尝试了以下苹果脚本:

on run
    tell application "System Events"
        delay 0.5
        
        key code 100
        
    end tell
end run

当我运行脚本时,什么也没有发生。

我也试过了key code {63, 100}key code {100, 63}但没用。我确保将 Automator 添加到了辅助功能安全权限中。此外,当我从 Mac 上的任何应用程序按下现有的 F8 键时,它都能完美运行。无论视频或音乐是处于活动状态还是在后台,它都会播放或暂停音乐或 YouTube 视频。

我如何指定 F19 键来执行播放/暂停功能?

答案1

问题是 - 播放/暂停键不是F8。
这是播放/暂停键。

如果您转到“系统首选项”>“键盘”>“键盘”,您将看到首选项“使用 F1、F2 等键作为标准功能键”
这将切换按下标记为 F8 的键是否发送实际的 F8 或播放/暂停。您可以通过按住 Fn 键暂时切换行为。

常规 F 键可以像任何其他键一样被拦截或作为键命令发送。如您所见,F8 本身就是键代码 100。

这就是失败之处……
播放/暂停键不会以同样的方式注册到键盘解释器。它被组合在键盘内部,在任何高级解释器访问它之前发生。操作系统在非常低的级别将该键发送到例如 iTunes [甚至在它未运行的情况下将其启动],然后播放/暂停。
您无法拦截或替换它。

实际上,您需要的是一些可以进入解释器底层的东西。

有一些应用程序可以实现这一点 -BetterTouch工具USB 超速[我在 https://gist.github.com/NoobsArePeople2/5121597 找到了一些脚本] 和登山扣元素
我不知道如何使用这些应用程序实现这一目标的具体细节,但它们都提供了很好的帮助和参考。

相关内容