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.