启用键盘快捷键以确认 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 键向后移动焦点。
检查: [√]使用键盘导航在控件之间移动
完成后,就可以使用tabtabenter 按 continue 按钮 ,OP 中显示由 code 生成的对话框。
旁注:也可以尝试fncommandenter 因为在我也测试过的 VMware macOS Catalina 虚拟机中这是必需的。
我正在寻找一种允许用户使用键盘快捷键完成对话框条目的方法。这可能吗?
主要困难在于我使用的是多行文本输入表单,因此 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 键向后移动焦点。
检查: [√]使用键盘导航在控件之间移动
完成后,就可以使用tabtabenter 按 continue 按钮 ,OP 中显示由 code 生成的对话框。
旁注:也可以尝试fncommandenter 因为在我也测试过的 VMware macOS Catalina 虚拟机中这是必需的。