Comme vous l'avez sans doute découvert, Scripting de l'interface utilisateur a ses problèmes et, dans ce cas particulier, la préférences de la souris le code peut varier en fonction de la version du système d'exploitation et du type d'ordinateur. souris Il est donc difficile de vous fournir code qui fonctionnera absolument dans votre scénario d'utilisation. Pour vous montrer, je vais utiliser deux exemples de code qui fonctionnent pour moi sur mon système.
Sur un MacBook Pro avec un Souris magique Apple sous OS X 10.8.6 les éléments suivants exemple ApplesScript code modifie le valeur de la Suivi du site glissière :
if application "System Preferences" is running then ¬
tell application "System Preferences" to quit
delay 1
tell application "System Preferences"
reveal anchor "mouseTab" of pane id "com.apple.preference.mouse"
delay 1
tell application "System Events"
click of radio button 1 of tab group 1 of window 1 of application process "System Preferences"
set value of slider 1 of tab group 1 of window 1 of application process "System Preferences" to 4
end tell
quit
end tell
Dans un souris générique scénario, les éléments suivants exemple ApplesScript code modifie le valeur de la Vitesse de suivi glissière :
if application "System Preferences" is running then ¬
tell application "System Preferences" to quit
delay 1
tell application "System Preferences"
reveal anchor "mouseTab" of pane id "com.apple.preference.mouse"
delay 1
tell application "System Events"
set value of slider 3 of window 1 of application process "System Preferences" to 4
end tell
quit
end tell
El plage de valeurs de la Vitesse de suivi glissière es un valeur décimale entre 0
y 9
. Notez que le plage de valeurs pour l'autre glissières différents, Vitesse du double-clic est 0
à 10
et Vitesse de défilement est 0
à 7
. Notez également que ces gammes peut varier en fonction de la version du système d'exploitation et du matériel.
Avec Préférences du système ouvert à la Souris panneau pour un souris générique utilisez la ligne suivante de code sur scriptÉditeur pour obtenir le propriétés de la glissières :
tell application "System Events" to get properties of every slider of window 1 of application process "System Preferences"
Vous verrez le valeurs minimales/maximales ainsi que le valeur ils sont actuellement réglés sur. Ce dernier point est important à connaître après avoir effectué un réglage manuel à votre convenance, puis l'utiliser dans le cadre de la fonction script pour effectuer les modifications souhaitées.
Notez qu'avec Scripting de l'interface utilisateur le site valeur de la delay
commandes peuvent devoir être adaptés à votre environnement ou à des éléments supplémentaires. delay
commandes peuvent être nécessaires, le cas échéant.
Notez également que le exemple ApplesScript code est codé pour fermer d'abord Préférences du système si c'est ouvert. C'est fait pour ne pas avoir à voir le événements qui a lieu au fur et à mesure que le danse graphique de certains Scripting de l'interface utilisateur peut être distrayant.
Vous verrez la différence entre les deux versions de exemple ApplesScript code dans la seconde, non seulement elle n'a pas ou n'a pas besoin de la click of radio button ...
commande le slider
numéro est différent, ainsi que son name
. Dans la première version, c'est slider 1
y Tracking
alors que dans le second, c'est slider 3
y Tracking Speed
. Il n'y a pas non plus de tab group
dans la deuxième version.
Pour répondre à la à l'aveuglette point mentionné dans le PO, avec le souris générique scénario, il y a trois glissières Ainsi, la ligne suivante de code para el vitesse de suivi :
set value of slider 3 of window 1 of application process "System Preferences" to 4
Peut être écrit comme :
set value of every slider of window 1 of application process "System Preferences" whose name contains "track" to 4
Maintenant tu n'as pas besoin de savoir ce que numéro le site slider
est qu'il agira sur le seul dont le nom contient "track", qui dans ce cas sera slider 3
. Le même concept peut s'appliquer à d'autres UI elements
aussi.
Vous pouvez également vous adresser à la slider
par son name
par exemple :
set value of slider "Tracking Speed" of window 1 of application process "System Preferences" whose name contains "track" to 4
Il en va de même pour les autres Éléments de l'interface utilisateur qui ont un name
propriété dans ce cas, par exemple, window 1
est aussi : window "Mouse"
Note : Le site exemple ApplesScript code est juste cela et ne contient pas de gestion des erreurs selon ce qui est approprié/nécessaire/souhaité. Il incombe à l'utilisateur d'ajouter traitement des erreurs selon ce qui est approprié/nécessaire/souhaité.