9 votos

Cambiar la dirección de desplazamiento del trackpad con AppleScript en Yosemite

Prefiero la dirección de desplazamiento "natural" cuando uso mi trackpad MBAir, pero "no natural" cuando uso el ratón. Con frecuencia cambio de un lado a otro dependiendo de dónde esté trabajando, así que he estado usando un poco de AppleScript para cambiar la configuración. Este script dejó de funcionar cuando actualicé a Mac OS Yosemite. Sigue abriendo el panel de Scroll & Zoom de las preferencias del Trackpad, pero no marca la casilla de verificación. He probado varias cosas pero no consigo que funcione.. No soy un desarrollador de Apple, así que no tengo ninguna herramienta de depuración. ¿Algún consejo?

try
    tell application "System Preferences"
        activate
        set current pane to pane "com.apple.preference.trackpad"
    end tell

    tell application "System Events"
        tell process "System Preferences"
            click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
            click checkbox 1 of tab group 1 of window "Trackpad"
        end tell
    end tell
end try

5voto

TODO Puntos 41

En primer lugar, asegúrese de que Applescripts tiene permiso para modificar las aplicaciones. Esto se puede hacer abriendo System Preferences | Security & Privacy | Accessibility y la comprobación script Editor . Este es un proceso que se realiza una sola vez y no debería tener que comprobarlo de nuevo.

Ejecuté este mismo fragmento que @Bowen proporcionó en su pregunta sobre Mojave y noté lo que él describió. Lo arreglé añadiendo el retraso mencionado por @Bowen en su respuesta. La casilla se marca o se desmarca ahora que hemos añadido un pequeño retraso.

Aquí está ese ejemplo que ejecuté directamente desde el editor de script:

try
tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.trackpad"
end tell
delay 2
tell application "System Events"
    tell process "System Preferences"
        click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
        click checkbox 1 of tab group 1 of window "Trackpad"
        tell application "System Preferences" to quit
    end tell
end tell
end try

También, en relación con este tema, construí algo usando las ideas de este hilo, ya que la gente puede querer automatizarlo según su configuración. El siguiente script está "listo para Automator", o puede ser exportado como una aplicación para que puedas ejecutarlo al inicio o como quieras ejecutarlo. También tiene que permitir el acceso a la aplicación exportada como se muestra en la imagen de arriba para "Scroll direction Clicker". Esto es específico para un ratón Logitech que se encuentra, pero puede ser fácilmente modificado a cualquier otro tipo de cadena / tipo de ratón. También puede ser utilizado como una referencia decente para construir fuera de la dirección de desplazamiento. Por mi parte, me cansé de cambiar la dirección de desplazamiento al pasar del ratón al trackpad, y así es como encontré este hilo.

Adaptado para ser exportado como una aplicación desde el editor de script

try
    set logitech to "Logitech"
    try
        set scriptOutput to do shell script "system_profiler SPUSBDataType | grep -i logitech"
        if scriptOutput contains logitech then
            tell application "System Preferences"
                activate
                set current pane to pane "com.apple.preference.trackpad"
            end tell
            delay 2
            tell application "System Events"
                tell process "System Preferences"
                    set checkBoxOne to checkbox 1 of tab group 1 of window "Trackpad"
                    click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
                    tell checkBoxOne to if value is 1 then click
                    tell application "System Preferences" to quit
                end tell
            end tell
        end if
    on error errMsg
        log errMsg
        tell application "System Preferences"
            activate
            set current pane to pane "com.apple.preference.trackpad"
        end tell
        delay 2
        tell application "System Events"
            tell process "System Preferences"
                set checkBoxOne to checkbox 1 of tab group 1 of window "Trackpad"
                click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
                tell checkBoxOne to if value is 0 then click
                tell application "System Preferences" to quit
            end tell
        end tell
    end try
end try

3voto

SaMaSo Puntos 136

Cambie "activar" por "ejecutar" para que el script se ejecute en segundo plano. añada también "quit" al final del script con un retardo de 0,6 para salir de las preferencias del sistema después de ejecutar el script.

try
tell application "System Preferences"
    (run)
    set current pane to pane "com.apple.preference.trackpad"
end tell
tell application "System Events"
    tell process "System Preferences"
        delay 0.6
        click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
        click checkbox 1 of tab group 1 of window "Trackpad"
    end tell

    tell application "System Preferences" to quit
end tell
end try

2voto

mdhughes Puntos 3805

Puedes resolver esto sin ningún applescript: https://pilotmoon.com/scrollreverser/

1voto

Chris Moore Puntos 380

He respondido a mi propia pregunta: Si este script no está funcionando, ve a Preferencias del Sistema | Seguridad y Privacidad | Accesibilidad, y asegúrate de que script Editor está marcado como ON para permitir que los Applescripts controlen la GUI.

1voto

Alex Feng Puntos 101

Este es un ligeramente modificado versión de la respuesta proporcionada por @TODO, y está inspirada en esta respuesta a una pregunta relacionada. Este AppleScript cambiará el desplazamiento directamente de forma silenciosa/invisible. Lo guardo como una aplicación y lo lanzo a través de spotlight cada vez que cambio entre el ratón y el trackpad.

try
    tell application "System Preferences"
        reveal pane "com.apple.preference.trackpad"
    end tell
    tell application "System Events"
        tell process "System Preferences"
            click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
            click checkbox 1 of tab group 1 of window "Trackpad"
        tell application "System Preferences" to quit
        end tell
    end tell
end try

Editado: Se me olvidó mencionar que tengo que conceder el permiso de accesibilidad por una vez (cuando se le solicite). Después de la solicitud de una sola vez, funciona como un encanto

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