AppleScript 脚本无法点击系统设置中的“键盘快捷键…”按钮
设备环境:
- 设备: MacBook Air (M 系列芯片)
- 操作系统: macOS Tahoe 26.3
- 系统语言: 简体中文
我的目标:
我正在尝试编写一个“快捷指令”或 AppleScript 脚本,用于快速切换以下设置:系统设置 -> 键盘 -> 键盘快捷键… -> 功能键 -> “将 F1、F2 等键用作标准功能键”。
遇到的问题:
脚本能够成功打开“键盘”设置界面,但始终无法点击“键盘快捷键…”这个按钮。虽然按钮在屏幕上清晰可见,但脚本执行时会提示“找不到按钮”或“执行超时”。
我已经尝试过的方案:
- 直接路径定位: 使用 click button "键盘快捷键…" of group 1 of scroll area 1...(在 Tahoe 系统中 UI 层级似乎发生了变化)。
- URL Scheme 直接跳转: 使用 open 'x-apple.systempreferences:com.apple.Keyboard-Settings.extension'。这可以直达键盘设置页,但下一步点击按钮依然失效。
- 模糊名称搜索: 使用 first button whose name contains "键盘快捷键" 或 entire contents of window 1 遍历所有元素。
- AXPress 动作: 尝试使用辅助功能底层的 perform action "AXPress" 代替普通的 click。
- 权限重置: 已在“隐私与安全性 > 辅助功能”中多次开关“快捷指令”和“System Events”的权限,甚至删除后重新添加,均无改善。
失效的示例代码:
AppleScript
tell application "System Events"
tell process "System Settings"
-- 脚本能运行到这一步并显示窗口,但无法点击按钮
set targetBtn to (first button of window 1 whose name contains "键盘快捷键")
click targetBtn
end tell
end tell
我的诉求:
- 在 macOS Tahoe 中,这个“键盘快捷键…”按钮的精确 UI 元素路径是否有变动?
- 除了模拟点击 UI,是否有一个 defaults write 命令可以修改 AppleFnUsageType 并使其立即生效(无需注销或重启系统)?
希望能得到各位大神或开发者的指点,非常感谢!
MacBook Pro 16″, macOS 26.3