Automatice el cambio en la configuración al conectar el mouse

Estoy usando una MacBook Air con Sierra.

Me gusta usar diferentes configuraciones de mouse con mi panel táctil y mi mouse USB. Para facilitar esto, cada vez que conecto el mouse, tengo que ir a System Preferencesy cambiar la configuración del mouse (revertir la dirección de desplazamiento y ajustar la sensibilidad). ¿Hay alguna forma en que pueda automatizar este cambio (tal vez usando automator) en la configuración para que ocurra automáticamente cada vez que conecto el mouse USB?

Respuestas (1)

En macOS Sierra , si solo tiene un mouse USB normal , no uno que venga con su propio software y sea multifunción con botones adicionales, etc., entonces en Preferencias del Sistema > Ratón , tiene las siguientes configuraciones que se pueden cambiar:

  • Dirección de desplazamiento: casilla de verificación natural
  • Control deslizante de velocidad de seguimiento
  • Deslizador de velocidad de desplazamiento
  • Control deslizante de velocidad de doble clic

Y dos configuraciones adicionales debajo del mouse que no se abordarán, por dos razones, el botón primario del mouse: botones de radio , si es diferente al predeterminado de Left , con toda probabilidad ya está configurado y no necesariamente cambiaría porque uno quiere cambiar el Dirección de desplazamiento: casilla de verificación natural , y dado que el OP indicó mouse USB , asumiré que no está usando Bluetooth y puedo ignorar el botón Configurar mouse Bluetooth ...

Esta respuesta usará AppleScript para obtener la configuración anterior y posterior del valor de los controles deslizantes enumerados antes mencionados que se usarán en el código AppleScript que sigue después de este código .

Abra el Editor de secuencias de comandos y cree un nuevo documento, luego agregue el siguiente código :

tell application "System Preferences"
    set current pane to pane id "com.apple.preference.mouse"
    --delay 0.5 -- # If necessary, uncomment 'delay' command and set its value in seconds and or decimal fractions there of.
    tell application "System Events"
        log "Scrolling speed is set to: " & value in (get properties of slider 1 of front window of application process "System Preferences")
        log "Double-Click speed is set to: " & value in (get properties of slider 2 of front window of application process "System Preferences")
        log "Tracking speed is set to: " & value in (get properties of slider 3 of front window of application process "System Preferences")
    end tell
end tell

Habrá dos estados diferentes de la dirección de desplazamiento: casilla de verificación natural en Preferencias del sistema > Ratón , marcada y sin marcar y el cambio en la configuración del control deslizante entre los dos estados .

El código anterior se ejecutará una vez para obtener la configuración de valor actual de los controles deslizantes . A continuación, realice los cambios de configuración que desee en los controles deslizantes para el estado opuesto al que tenían cuando reunió los valores de la primera configuración para el primer estado . Luego ejecute el código nuevamente para obtener la configuración diferencial.

Luego, ingresará los valores , recopilados anteriormente, en el código a continuación. Puede comentar o eliminar cualquier control deslizante que no vaya a ser cambiado por el código a continuación.

Los comentarios en el código a continuación deberían ser adecuados, sin embargo, no dude en preguntar si necesita alguna explicación.

Guardé el siguiente código AppleScript en el Editor de secuencias de comandos como una aplicación denominada Alternar configuración del mouse en la carpeta Aplicaciones .

Cuando se ejecuta, alterna el estado de la dirección de desplazamiento: casilla de verificación natural entre marcada y sin marcar junto con la configuración del control deslizante debajo de cada estado .

Código AppleScript para la aplicación Toggle Mouse Settings :

on run
    try
        tell application "System Preferences"
            set current pane to pane id "com.apple.preference.mouse"
            -- delay 0.5    -- # If necessary, uncomment 'delay' command and set its value in seconds and or decimal fractions there of.
            tell application "System Events"
                set isChecked to get value of checkbox 1 of front window of application process "System Preferences" as boolean
                if isChecked then
                    --  # The 'Scroll direction: Natural' checkbox is checked, uncheck it.
                    set cbValue to value of (click checkbox 1 of front window of application process "System Preferences") as boolean
                    --  # Scrolling Speed - Valid Values: 0.0 to 8.0
                    set value of slider 1 of front window of application process "System Preferences" to 6.0
                    --  # Double-Click Speed - Valid Values: 0.0 to 10.0
                    set value of slider 2 of front window of application process "System Preferences" to 8.0
                    --  # Tracking Speed - Valid Values: 0.0 to 9.0
                    set value of slider 3 of front window of application process "System Preferences" to 6.0
                else
                    --  # The 'Scroll direction: Natural' checkbox is not checked, check it.
                    set cbValue to value of (click checkbox 1 of front window of application process "System Preferences") as boolean
                    --  # Scrolling Speed - Valid Values: 0.0 to 8.0
                    set value of slider 1 of front window of application process "System Preferences" to 4.5
                    --  # Double-Click Speed - Valid Values: 0.0 to 10.0
                    set value of slider 2 of front window of application process "System Preferences" to 8.0
                    --  # Tracking Speed - Valid Values: 0.0 to 9.0
                    set value of slider 3 of front window of application process "System Preferences" to 4.0
                end if
            end tell
            tell me
                if cbValue then
                    display notification "Natural scrolling is now active." with title (name of me)
                else
                    display notification "Natural scrolling is no longer active." with title (name of me)
                end if
            end tell
            quit
        end tell
    on error eStr number eNum
        activate
        display dialog eStr & " number " & eNum buttons {"OK"} default button 1 with title "Toggle Mouse Settings" with icon caution
        tell application "System Preferences" to quit
        return
    end try
end run

Nota: antes de ejecutar la aplicación Toggle Mouse Settings , deberá agregarla a: Preferencias del sistema > Seguridad y privacidad > Privacidad > Accesibilidad


Hay una aplicación llamada EventScripts que podría usarse para activarse cuando se conecta o retira un dispositivo USB. No lo he usado antes, solo sé que existe.

También hay una aplicación llamada Scroll Reverser . No lo he usado antes, solo sé que existe.