如何在 Mac 上模拟“fn + shift + command + L”按键?

Don*_* YD 0 c macos applescript

我需要它相当于同时按下这些键。

\n\n

我实际上认为\xe2\x80\x99s在AppleScript中是不可能的,我\xe2\x80\x99已经在互联网上搜索无济于事,但我又\xe2\x80\x99m是一个菜鸟,所以也许我错过了一些东西。

\n\n

如果在 AppleScript 中这是不可能的,我怎样才能在较低的级别上做到这一点。也许用C语言?

\n

Pra*_*ado 5

您可以使用 appleScript 来完成此操作,这里有一个适合您的工作代码。它正是您所需要的。

按住时会依次按下这些键:Fn键、Shift键、Command键和L键。

按住它们会等待 2 秒(我刚刚插入延迟来测试它,同时观察 MacOS 屏幕键盘上按下这些键的情况)。对于生产,我建议将延迟减少到 0.2

延迟后,它会释放所有按键。

这与物理按键完全相同。

tell application "System Events"
    -- part 1: press and keep holding
    key down 63
    key down shift
    key down command
    key down "L"
    -- part 2: lets keep them pressed for 2 seconds
    delay 2
    -- part 3: release the keys
    key up "L"
    key up command
    key up shift
    key up 63
end tell
Run Code Online (Sandbox Code Playgroud)

代码 63 是 Fn 键的键码。

您可以根据您的要求/需要将此脚本重新映射到 Maestro 中的 Command+L 快捷方式

出于安全原因,Apple 默认禁止任何应用程序进行任何自动化控制,因此您必须授权此脚本可信任来控制您的计算机。

要授权它:

  • 打开系统偏好设置 -> 安全和隐私
  • 转到选项卡:隐私
  • 在左侧列表中的项目上选择:辅助功能
  • 解锁对话框以进行更改
  • 单击 + 按钮并
  • 将您的脚本添加到允许控制您的计算机的应用程序列表中。

(要使用脚本编辑器对其进行测试,您还需要通过将其添加到上述列表来授权脚本编辑器)