更新注意:这个答案最初是在macOS Mojave发布之前编写的,因此要在macOS Mojave中使用它,你需要更改三行代码。
更改:
select table 1 of scroll area 2
select row 16 of table 1 of scroll area 2
tell tab group 1
至:
select table 1 of scroll area 1
select row 16 of table 1 of scroll area 1
tell tab group 1 of group 1
以下示例 AppleScript 代码在macOS High Sierra下适用于我:
if running of application "System Preferences" then
quit application "System Preferences"
delay 1
end if
tell application "System Preferences"
reveal pane id "com.apple.preference.universalaccess"
delay 1
tell application "System Events"
tell window 1 of application process "System Preferences"
select table 1 of scroll area 2
delay 0.1
select row 16 of table 1 of scroll area 2
delay 0.1
tell tab group 1
click radio button "Accessibility Keyboard"
delay 0.1
click checkbox "Enable Accessibility Keyboard"
end tell
end tell
end tell
quit
end tell
在脚本编辑器,我救例如 AppleScript的 代码作为应用程序,命名为辅助Keyboard.app,在应用程序文件夹中。
接下来,我将Accessibility Keyboard.app添加到:系统首选项 > 安全和隐私 > 隐私 > 辅助功能
现在我可以通过Spotlight轻松打开辅助功能键盘,或者可以在Dock上拖放辅助功能键盘.app以便在那里启动。
更新:
我的原始示例 AppleScript 代码适用于打开辅助功能键盘,而不是关闭它。因此,如果它打开并且原始脚本再次运行则会出错。以下版本的AppleScript 示例 代码说明它是否已显示的辅助功能键盘,如果是,则将其关闭。
注意认为,虽然这确实关闭辅助键盘,如果它显示,存在添加反弹至停靠瓦的系统首选项,而不是并发出其他然后一个次级视觉分心。
示例 AppleScript 代码:
if running of application "System Preferences" then
quit application "System Preferences"
delay 1
end if
tell application "System Preferences"
reveal pane id "com.apple.preference.universalaccess"
delay 1
tell application "System Events"
tell window 1 of application process "System Preferences"
select table 1 of scroll area 2
delay 0.1
select row 16 of table 1 of scroll area 2
delay 0.1
tell tab group 1
click radio button "Accessibility Keyboard"
delay 0.1
if value of checkbox "Enable Accessibility Keyboard" is 0 then
click checkbox "Enable Accessibility Keyboard"
else
click checkbox "Enable Accessibility Keyboard"
delay 1
my clickOK()
end if
end tell
end tell
end tell
quit
end tell
on clickOK()
tell application "System Events" to click button "OK" of window 1 of application process "System Preferences"
end clickOK
请注意,系统预置不需要可见这个工作,为什么没有activate
命令的例子 的AppleScript 代码。此外,如果系统偏好设置已打开,则在处理其余代码之前首先关闭它。这样做有几个原因,第一个原因已经说明,其次是看到处理的UI事件是一种视觉分心,可能很烦人。
另请注意,可能需要为系统调整命令的值,或者可能需要或不需要其他命令。根据需要调整和/或添加/删除命令的值。delay
delay
delay
请记住,一旦将应用程序添加到“ 系统偏好设置” >“ 安全和隐私” >“ 隐私” >“ 辅助功能”并在此后进行了修改,您将需要取消选中该设备并重新检查它,以便允许处理新的更改。
注:该例子 的AppleScript 代码就是这样,不使用任何错误处理,仅是为了展示的途径之一完成的任务。用户有责任根据需要添加/使用适当的错误处理。
click
而select
不是使用delay
s?怎么做click
和select
不同?