El ejemplo AppleScript código que se muestra más abajo, cambiará el estado del Teclado de accesibilidad y fue probado bajo MacOS Catalina y MacOS Big Sur .
Me ha funcionado tal y como está codificado, sin embargo, utiliza un utilidad de terceros para evitar el cierre de la Teclado de accesibilidad mediante la desactivación de la opción Activar el teclado de accesibilidad casilla de verificación en Preferencias del sistema para no tener que ver el Guiones de interfaz de usuario de Preferencias del sistema apertura y la OK al hacer clic en el botón, seguido de Preferencias del sistema cierre, como ocurre con el código en la otra respuesta a su pregunta.
Tener que usar Guiones de interfaz de usuario ya es bastante malo, pero tener la distracción visual de tener que ver Preferencias del sistema abierto y el OK al hacer clic en el botón, seguido de Preferencias del sistema El cierre no es necesario con mi método.
El utilidad de terceros es Haga clic en y la coloqué en /usr/local/bin/
y se utiliza para pulsar el Cerrar en el botón UI de la Teclado de accesibilidad . (Intenté cerrarlo con otros métodos adicionales, pero éste fue el menos problemático, y por eso necesité hacerlo).
Para utilizar el ejemplo AppleScript código Lo guardé como Teclado de Accesibilidad Toggle.scpt en ~/Library/scripts/ y activarlo con un atajo de teclado de ⌃⌥⌘K utilizando FastScripts Sin embargo, un Automatizador Servicio/Acción Rápida puede crearse utilizando un Ejecutar AppleScript acción y el código junto con un atajo de teclado asignado: Preferencias del sistema > Teclado > Atajos > Servicios
Lo que el ejemplo AppleScript código lo hace:
-
Comprueba si el Teclado de accesibilidad está mostrando al leer com.apple.HIToolbox archivo plist para ver si com.apple.inputmethod.AssistiveControl existe, ya que lo hace cuando se muestra, y no cuando no se muestra.
-
Si se muestra, llama al closeVirtualKeyboard
manipulador que obtiene mediante programación la posición y el tamaño del Cerrar de la Teclado de accesibilidad para hacer clic en él, utilizando cliclick
donde sea que esté en la pantalla.
-
Si no aparece, llama al openVirtualKeyboard
manipulador para mostrarlo.
Ejemplo AppleScript código :
set shellCMD to {¬
"defaults read com.apple.HIToolbox", ¬
" | ", ¬
"grep -o 'com.apple.inputmethod.AssistiveControl'", ¬
"; exit 0"} as string
set foo to (do shell script shellCMD)
if not foo is equal to "" then
closeVirtualKeyboard()
else
my openVirtualKeyboard()
end if
on closeVirtualKeyboard()
tell application "System Events"
set ps to {position, size} of ¬
button "Close" of window "Panel" of ¬
application process "Assistive Control"
set x to (item 1 of item 1 of ps) + ¬
(item 1 of item 2 of ps) / 2 as integer
set y to (item 2 of item 1 of ps) + ¬
(item 2 of item 2 of ps) / 2 as integer
set shellCMD to ¬
{"/usr/local/bin/cliclick -r c:", x, ",", y} ¬
as string
tell me to do shell script shellCMD
end tell
end closeVirtualKeyboard
on openVirtualKeyboard()
if running of application "System Preferences" then
try
tell application "System Preferences" to quit
on error
do shell script "killall 'System Preferences'"
end try
end if
delay 0.1
repeat while running of application "System Preferences" is true
delay 0.1
end repeat
tell application "System Preferences" to ¬
reveal anchor "Virtual_Keyboard" in ¬
pane id "com.apple.preference.universalaccess"
tell application "System Events"
repeat until (exists checkbox "Enable Accessibility Keyboard" of ¬
tab group 1 of group 1 of window "Accessibility" of ¬
application process "System Preferences")
delay 0.01
end repeat
click checkbox "Enable Accessibility Keyboard" of ¬
tab group 1 of group 1 of window "Accessibility" of ¬
application process "System Preferences"
end tell
tell application "System Preferences" to quit
end openVirtualKeyboard