El siguiente ejemplo AppleScript código funciona para mí bajo 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
En Script Editor , guardé ejemplo AppleScript código como aplicación , llamado Accesibilidad Keyboard.app , en la carpeta Aplicaciones .
A continuación, agregué Accesibilidad Keyboard.app a: Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad
Ahora puedo abrir el Teclado de accesibilidad fácilmente a través de Spotlight , o el Teclado de accesibilidad.app se puede arrastrar y soltar en el < fuerte> Dock para ser lanzado para allí.
Actualización:
Mi ejemplo original AppleScript código estaba orientado a abrir el Teclado de accesibilidad , no a cerrarlo. Como tal, si está abierto y el script original se ejecuta nuevamente, se produce un error. La siguiente versión del ejemplo AppleScript código explica si el Teclado de accesibilidad ya se muestra o no. , lo cierra.
Note pensó que si bien esto cierra el Teclado de accesibilidad si se muestra, hay un rebote agregado a Dock Tile de Preferencias del sistema y No es un problema que no sea una distracción visual secundaria.
Ejemplo AppleScript código :
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
Tenga en cuenta que Preferencias del sistema no necesita estar visible para que esto funcione y por qué no hay un comando activate
en el ejemplo AppleScript código . Además, si Preferencias del sistema ya está abierto, primero se cierra antes de que se procese el resto del código . Esto se hace por un par de razones, la primera de las cuales ya se mencionó y, en segundo lugar, ver los eventos de IU procesados es una distracción visual y puede ser molesto.
También tenga en cuenta que el valor de los comandos delay
puede necesitar un ajuste para su sistema, y / o comandos adicionales delay
Puede o no ser necesario. Ajuste valores de y / o agregue / elimine los comandos delay
según corresponda.
Ten en cuenta que una vez que se haya agregado aplicación a Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad y, posteriormente, modificado, deberá desmarcarlo y volver a marcarlo para que se puedan procesar los nuevos cambios.
Nota: El ejemplo AppleScript código es solo eso y no emplea ningún manejo de errores y está destinado solo a mostrar una de las muchas maneras en que se puede realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar / usar el manejo de errores según sea necesario / deseado.