1 votos

AppleScript para activar la Accesibilidad de Teclado en la Alta Sierra

¿Cómo puedo escribir una secuencia de comandos para activar la accesibilidad de teclado presente en macOS Alta de la Sierra?

Naturalmente es posible hacer esto de ir a Preferencias del Sistema > Accesibilidad > Teclado > Accesibilidad de Teclado > "Activar la Accesibilidad de Teclado," pero esto toma un número de clics. Me gustaría una secuencia de comandos que puede ser lanzado desde el Dock, ya que con frecuencia el uso de la Accesibilidad del Teclado.

Una idea es utilizar AppleScript; otra idea es encontrar la Accesibilidad de Teclado binario y el uso de un script de shell para abrirlo.

Aquí está mi intento de AppleScript:

tell application "System Preferences"
    activate
    reveal (pane id "com.apple.preference.universalaccess")
end tell

tell application "System Events" to tell application process "System Preferences"
    tell window "Accessibility"
        click UI element "Keyboard" of row 16 of table 1 of scroll area 2
        click button "Accessibility Keyboard"
        click checkbox "Enable Accessibility Keyboard"
    end tell
end tell

Esta secuencia de comandos se produce el error: "el Sistema de Eventos de un error: no se Puede obtener el botón de 'Accesibilidad de Teclado de la ventana de la "Accesibilidad" de la aplicación del proceso de 'Preferencias del Sistema'."

Si puedo quitar los dos últimos click comandos de la secuencia de comandos no produce un error, pero también no aparece haga clic en el "Teclado" elemento de interfaz de usuario.

¿Qué estoy haciendo mal? Disculpas si esto es una pregunta estúpida; este es mi primer AppleScript.

O si alguien sabe la ubicación de la Accesibilidad de Teclado binario, que sería muy útil.

1voto

user3439894 Puntos 5883

El siguiente ejemplo de AppleScript código me funciona bajo macOS Alta de la 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 el Editor de secuencias de Comandos, he guardado ejemplo AppleScript código como una aplicación, denominada Accesibilidad del Teclado.la aplicación, en las Aplicaciones de la carpeta.

A continuación, he añadido la Accesibilidad del Teclado.aplicación a: Preferencias del Sistema > Seguridad Y Privacidad > Privacidad > Accesibilidad

Ahora puedo sacar la Accesibilidad de Teclado fácilmente a través de Spotlight, o la Accesibilidad de Teclado.aplicación pueden ser arrastrados y soltados en el Muelle para ser lanzado por allí.


Actualización:

Mi original ejemplo de AppleScript código se orienta a la apertura de la Accesibilidad de Teclado, no es el cierre. Como tal, si es abierto y el original de la secuencia de comandos se ejecuta de nuevo los errores. La siguiente versión del ejemplo de AppleScript código de cuentas, sea o no de la Accesibilidad de Teclado ya que se muestra y si es así, cierra.

Nota pensado que aunque esta cerca de la Accesibilidad del Teclado si se muestra, no es un agregado de rebote a Muelle de Teja de Preferencias del Sistema y no es problema y, a continuación, una secundaria distracción visual.

Ejemplo de 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 las Preferencias del Sistema no necesita ser visible para que esto funcione y por qué no hay activate comando en el ejemplo de AppleScript código. Además, si las Preferencias del Sistema ya está abierto, se cierra primero antes que el resto del código es procesado. Esto se hace para un par de razones, la primera de las cuales se ha dicho y en segundo lugar ver los Eventos de interfaz de usuario procesado es una distracción visual y puede ser molesto.

También tenga en cuenta que el valor de la delay comandos pueden necesitar ser ajustadas para su sistema, y / o adicional delay comandos puede o puede no ser necesario. Ajustar los valores de y o agregar/quitar el delay comandos según corresponda.

Tenga en cuenta que una vez que la aplicación se añade a Preferencias del Sistema > Seguridad Y Privacidad > Privacidad > Accesibilidad y modificado a partir de entonces, tendrás que desactivar y volver a comprobar que los nuevos cambios permiso para ser procesados.


Nota: El ejemplo de AppleScript código es sólo eso y no emplea ningún error en el manejo y está destinado sólo para mostrar una de las muchas formas de realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar y/o el uso apropiado de manejo de errores como necesitaba/quería.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X