4 votos

¿Hay alguna forma de activar y desactivar la función de las teclas del ratón mediante AppleScript o un comando de terminal?

Estoy ejecutando Mac OS X 10.7.2. ¿Hay alguna forma de ejecutar un AppleScript o un comando de terminal que active o desactive rápidamente la función "teclas del ratón" en la pestaña Acceso Universal? Lo ideal es que busque una solución que no implique la creación de una secuencia de comandos GUI en la aplicación Preferencias del Sistema, aunque eso sería algo mejor que nada.

He explorado defaults write com.apple.universalaccess useMouseKeysShortcutKeys 1 y varias otras formas de esa declaración, pero en vano.

4voto

Aidan Ryan Puntos 5056

Aquí está la solución de scripting de la GUI:

tell application "System Preferences"
    reveal anchor "Mouse" of pane id "com.apple.preference.universalaccess"
    tell application "System Events"
        tell process "System Preferences"
            tell first window
                tell first tab group
                    tell radio group 1
                        if value of radio button 1 is 1 then
                            # enabled, so disable
                            click radio button 2
                        else
                            # disabled, so enable
                            click radio button 1
                        end if
                    end tell
                end tell
            end tell
        end tell
    end tell
    quit
end tell

Se lanzará Preferencias del sistema si es necesario, pero no muestra la ventana y la cierra después, así que desde el punto de vista de la interfaz de usuario, al menos no muestra la ventana.


Puede cambiar la configuración persistente en la que se basa la configuración de las Preferencias del Sistema utilizando los siguientes comandos:

defaults write ~/Library/Preferences/com.apple.universalaccess mouseDriver -bool YES
defaults write ~/Library/Preferences/com.apple.universalaccess mouseDriver -bool NO

Lamentablemente, esto sólo cambia el archivo de configuración y no aplica los cambios al sistema en funcionamiento.


Mientras que se puede programar la pulsación de Opción utilizando AppleScript, como el siguiente:

tell application "System Events"
    key down option
    key up option
end tell

El pulse cinco veces la opción para alternar está en un nivel superior y no se activa con esto. Mientras que todos los Option las pulsaciones de teclas se ignoran después de que sólo se ejecute key down option , todavía puede alternar las teclas del ratón.


Depuración Preferencias del sistema mientras que al cambiar la configuración se muestran las llamadas a LaunchUAServerIfNeeded y UAMouseKeysSetEnabled en el ámbito privado UniversalAccessCore marco. A menos que hagamos ingeniería inversa de ese marco y escribamos nuestros propios binarios, no creo que consigamos una forma programática adecuada de hacerlo.

-1voto

Julius Canute Puntos 26

¿No se puede utilizar la secuencia de comandos de teclas en AppleScript para esto?

Algo así como:

tell application "System Events"
    repeat 5 times
    //any of these should work
    key option
    key code 58
    key code option
    //I do not know if this works
    keystroke option
end tell

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