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

4

Estoy ejecutando Mac OS X 10.7.2. ¿Hay alguna forma de ejecutar un comando de AppleScript o terminal que active o desactive rápidamente la función "teclas del mouse" en la pestaña Acceso universal? Lo ideal es que esté buscando una solución que no implique GUI en la aplicación de Preferencias del Sistema, aunque sería un poco mejor que nada.

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

    
pregunta Daniel 10.02.2012 - 22:54

2 respuestas

4

Aquí está la solución de secuencias de comandos 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 iniciará Preferencias del sistema si es necesario, pero no muestra la ventana y se cierra después, por lo que desde una UI POV, al menos no muestra la ventana.

Puede cambiar la configuración persistente en la que se basa la configuración de Preferencias del Sistema mediante 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 solo cambia el archivo de configuración y no aplica los cambios al sistema en ejecución.

Si bien puede presionar mediante programación las teclas Opción usando AppleScript, como las siguientes:

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

El presione la opción Opción cinco veces para alternar está en un nivel más alto y esto no se activa. Si bien todas las pulsaciones normales de Option se ignoran después de que solo ejecute key down option , aún puede alternar las teclas del mouse.

Depurando Preferencias del sistema mientras se cambia la configuración, se muestran las llamadas a LaunchUAServerIfNeeded y UAMouseKeysSetEnabled en el marco privado UniversalAccessCore . A menos que realicemos ingeniería inversa de ese marco y escribamos nuestros propios binarios, no creo que tengamos una forma programática adecuada para hacer esto.

    
respondido por el Daniel Beck 10.02.2012 - 23:51
-1

¿No puedes utilizar las secuencias de comandos de pulsación de teclas en AppleScript para esto?

Algo a lo largo de las líneas de:

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
    
respondido por el daviesgeek 10.02.2012 - 23:28

Lea otras preguntas en las etiquetas