启用键盘快捷键以确认 AppleScript 中的对话框

Enabling keyboard shortcuts to confirm Dialogs in AppleScript

我正在寻找一种允许用户使用键盘快捷键完成对话框条目的方法。这可能吗?

讨论了在 AppleScript 对话框中为 选项 分配快捷方式,但没有为 "Continue"/"Okay" 等分配快捷方式。按钮。

主要困难在于我使用的是多行文本输入表单,因此 Enter 按钮只是创建一个新行,而不是将默认按钮作为目标按照惯例。我希望可以将 cmdenter 分配给默认按钮。

定义相关对话框的脚本行是:

set theResponse to display dialog "Enter tasks:" default answer "





" buttons {"Cancel", "Continue"} default button "Continue"

⌘-Enter(在数字键盘上)按下 Continue

如果您在多行文本字段中,请按 Tab 键,使焦点位于文本字段以外的某个元素上。然后 Enter 键应该正确路由到对话框的默认关闭按钮。

运行 您的 AppleScript code 来自 Script Editor 美国英语 MacBook Pro,无论是否输入了某些内容,fnenter 按下 Continue 按钮。

相同的键盘快捷键美式英语Apple Magic Keyboard连接MacBook Pro 我假设任何 美国英语 Mac 它被连接到会做同样的事情。目前我只有 MacBook Pro 可以测试。


macOS 中,默认情况下,在此用例中按 tab key 不会在控件之间移动,作为系统偏好设置 > 键盘[中的控制设置=95=] > 快捷方式 未设置为允许它作用于所有 控件.

您必须 select 以下选项之一,根据 macOS 的版本,一个是 运行,以便使用 选项卡 key 所有 controls.

如果你看到:

全键盘访问:在 windows 和对话框中,按 Tab 键在以下之间移动键盘焦点:

(•) 仅限文本框和列表
( ) 所有控件

Select: (•) 所有控件

如果你看到:

[] 使用键盘导航在控件之间移动
按 Tab 键向前移动焦点,按 Shift Tab 键向后移动焦点。

检查: [√]使用键盘导航在控件之间移动

完成后,就可以使用tabtabentercontinue 按钮 ,OP 中显示由 code 生成的对话框。


旁注:也可以尝试fncommandenter 因为在我也测试过的 VMware macOS Catalina 虚拟机中这是必需的。