4 votes

Existe-t-il un moyen d'activer et de désactiver la fonction Touches de la souris à l'aide d'AppleScript ou d'une commande de terminal ?

J'utilise Mac OS X 10.7.2. Existe-t-il un moyen d'exécuter une commande AppleScript ou terminal qui active ou désactive rapidement la fonction "touches de la souris" sous l'onglet Accès universel ? Idéalement, je cherche une solution qui n'implique pas l'utilisation d'un script GUI dans l'application Préférences Système, même si c'est un peu mieux que rien.

J'ai exploré defaults write com.apple.universalaccess useMouseKeysShortcutKeys 1 et diverses autres formes de cette déclaration, mais en vain.

4voto

Aidan Ryan Points 5056

Voici la solution de scripting 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

Elle lancera Préférences du système si nécessaire, mais n'affiche pas la fenêtre et la quitte ensuite, donc du point de vue de l'interface utilisateur, elle n'affiche pas la fenêtre.


Vous pouvez modifier le paramètre persistant sur lequel repose la configuration des Préférences Système à l'aide des commandes suivantes :

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

Malheureusement, cela ne modifie que le fichier de configuration et n'applique pas les modifications au système en cours d'exécution.


Bien que vous puissiez appuyer de manière programmée sur Option à l'aide d'AppleScript, comme suit :

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

Le site appuyez cinq fois sur Option pour basculer est à un niveau plus élevé et n'est pas déclenché par cela. Alors que toutes les Option les pressions sur les touches sont ignorées après que vous ayez seulement exécuté key down option vous pouvez toujours alterner les touches de la souris.


Débogage Préférences du système pendant la modification de la configuration montre les appels vers LaunchUAServerIfNeeded y UAMouseKeysSetEnabled dans le privé UniversalAccessCore cadre. À moins que nous ne fassions de la rétro-ingénierie de ce cadre et que nous écrivions nos propres binaires, je ne pense pas que nous obtiendrons un moyen programmatique approprié pour le faire.

-1voto

daviesgeek Points 35275

Ne pouvez-vous pas utiliser le script de frappe dans AppleScript pour cela ?

Quelque chose du genre :

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X