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

1

Estoy usando un MacBook Air con Sierra.

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

    
pregunta James Bond 03.08.2017 - 12:30

1 respuesta

1

Bajo macOS Sierra , si solo tiene un ratón USB normal , no viene con su propio software y es multifuncional con botones adicionales, etc. luego en Preferencias del sistema > Ratón , tiene las siguientes configuraciones que se pueden cambiar:

  • Dirección de desplazamiento: natural casilla de verificación
  • Velocidad de seguimiento control deslizante
  • Velocidad de desplazamiento control deslizante
  • Velocidad de doble clic control deslizante

Y dos configuraciones adicionales en Ratón que no se abordarán, por dos razones, el Botón primario del mouse: botones de radio , si es otro luego, el predeterminado de Izquierda , probablemente ya esté configurado y no cambiaría necesariamente porque uno quiere cambiar la Dirección de desplazamiento: natural < em> casilla de verificación , y dado que el OP declaró ratón USB , asumiré que no está utilizando Bluetooth y puede ignorar el Configurar el ratón Bluetooth ... . botón .

Esta respuesta va a utilizar AppleScript para obtener la configuración de antes y después para el valor de El código deslizante código que sigue después de este código .

Abra Script Editor 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 de diferencia en Dirección de desplazamiento: natural casilla de verificación en Preferencias del sistema > Mouse , seleccionado 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 actual de valor de los controles deslizantes . Luego realice los cambios de configuración que desee en los controles deslizantes para el estado opuesto de lo que era cuando reunió los valores de las primeras configuraciones para el primer estado . Luego ejecute el código nuevamente para obtener la configuración diferencial.

Luego, insertará los valores , recopilados arriba, en el código a continuación. Puede comentar eliminar o eliminar cualquier control deslizante que no vaya a cambiar con el código a continuación.

Los comentarios en el código a continuación deben ser adecuados, sin embargo, no dudes en pedirle que necesites una explicación.

Guardé el siguiente AppleScript código en Script Editor como una aplicación llamada Alternar configuración del mouse en la < fuerte> carpeta de aplicaciones

Cuando se ejecuta, alterna el estado de Dirección de desplazamiento: natural casilla de verificación entre marcado y no seleccionado junto con la configuración del control deslizante en cada estado .

AppleScript código para la aplicación Cambiar configuración del mouse :

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 Cambiar la configuración del mouse , deberá agregarla a: Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad

Hay una aplicación llamada EventScripts que se puede usar para disparar cuando un dispositivo USB está enchufado y / o eliminado. 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.

    
respondido por el user3439894 04.08.2017 - 02:20

Lea otras preguntas en las etiquetas