9 votes

Modification de la direction de défilement du trackpad avec AppleScript dans Yosemite

Je préfère une direction de défilement "naturelle" lorsque j'utilise mon trackpad MBAir, mais "non naturelle" lorsque j'utilise la souris. Je passe fréquemment de l'un à l'autre selon l'endroit où je travaille, et j'ai donc utilisé un peu d'AppleScript pour changer le paramètre. Ce script a cessé de fonctionner lorsque je suis passé à Mac OS Yosemite. Il ouvre toujours le volet Défilement et zoom des préférences Trackpad, mais il ne clique pas la case à cocher. J'ai essayé plusieurs choses mais je n'arrive pas à le faire fonctionner Je ne suis pas un développeur Apple, donc je n'ai pas d'outils de débogage. Des conseils ?

try
    tell application "System Preferences"
        activate
        set current pane to pane "com.apple.preference.trackpad"
    end tell

    tell application "System Events"
        tell process "System Preferences"
            click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
            click checkbox 1 of tab group 1 of window "Trackpad"
        end tell
    end tell
end try

5voto

TODO Points 51

D'abord, assurez-vous qu'Applescripts a la permission de modifier les applications. Cela peut être fait en ouvrant System Preferences | Security & Privacy | Accessibility et en vérifiant scriptÉditeur . Il s'agit d'un processus unique et vous ne devriez pas avoir à le vérifier à nouveau.

J'ai exécuté le même extrait que celui fourni par @Bowen dans sa question sur Mojave et j'ai remarqué ce qu'il a décrit. Je l'ai corrigé en ajoutant le délai mentionné par @Bowen dans sa réponse. La case se coche ou se décoche maintenant que nous avons ajouté un petit délai.

Voici l'exemple que j'ai exécuté directement à partir de l'éditeur script :

try
tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.trackpad"
end tell
delay 2
tell application "System Events"
    tell process "System Preferences"
        click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
        click checkbox 1 of tab group 1 of window "Trackpad"
        tell application "System Preferences" to quit
    end tell
end tell
end try

En outre, en relation avec ce sujet, j'ai construit quelque chose en utilisant les idées de ce fil, puisque les gens peuvent vouloir l'automatiser selon leurs paramètres. Le script ci-dessous est "Automator ready", ou peut être exporté en tant qu'application afin que vous puissiez l'exécuter au démarrage ou de toute autre manière. Vous devez également autoriser l'accès à l'application exportée, comme le montre l'image ci-dessus pour "Scroll direction Clicker". Cette fonction est spécifique à une souris Logitech, mais elle peut facilement être modifiée pour tout autre type de chaîne/souris. Il peut également être utilisé comme une référence décente pour construire à partir de la direction de défilement. Pour ma part, j'en ai eu assez d'inverser la direction du défilement en passant de la souris au trackpad, et c'est ainsi que j'ai trouvé ce fil de discussion.

Conçu pour être exporté en tant qu'application à partir de l'éditeur script.

try
    set logitech to "Logitech"
    try
        set scriptOutput to do shell script "system_profiler SPUSBDataType | grep -i logitech"
        if scriptOutput contains logitech then
            tell application "System Preferences"
                activate
                set current pane to pane "com.apple.preference.trackpad"
            end tell
            delay 2
            tell application "System Events"
                tell process "System Preferences"
                    set checkBoxOne to checkbox 1 of tab group 1 of window "Trackpad"
                    click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
                    tell checkBoxOne to if value is 1 then click
                    tell application "System Preferences" to quit
                end tell
            end tell
        end if
    on error errMsg
        log errMsg
        tell application "System Preferences"
            activate
            set current pane to pane "com.apple.preference.trackpad"
        end tell
        delay 2
        tell application "System Events"
            tell process "System Preferences"
                set checkBoxOne to checkbox 1 of tab group 1 of window "Trackpad"
                click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
                tell checkBoxOne to if value is 0 then click
                tell application "System Preferences" to quit
            end tell
        end tell
    end try
end try

3voto

David Raj Kumar Points 31

Changez "activate" en "run" pour que le script s'exécute en arrière-plan. Ajoutez également "quit" à la fin du script avec un délai de 0,6 pour quitter les préférences système après l'exécution du script.

try
tell application "System Preferences"
    (run)
    set current pane to pane "com.apple.preference.trackpad"
end tell
tell application "System Events"
    tell process "System Preferences"
        delay 0.6
        click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
        click checkbox 1 of tab group 1 of window "Trackpad"
    end tell

    tell application "System Preferences" to quit
end tell
end try

2voto

mdhughes Points 3805

Vous pouvez résoudre ce problème sans aucun applescript : https://pilotmoon.com/scrollreverser/

1voto

Bowen Points 123

J'ai répondu à ma propre question : Si ce script ne fonctionne pas, allez dans Préférences système | Sécurité et confidentialité | Accessibilité, et assurez-vous que script est coché sur ON pour permettre aux Applescripts de contrôler l'interface graphique.

1voto

Il s'agit d'un légèrement modifié version de la réponse fourni par @TODO, et il s'inspire de cette réponse à une question connexe. Cet AppleScript permet de basculer directement le défilement de manière silencieuse/invisible. Je l'enregistre en tant qu'application et le lance via Spotlight chaque fois que je passe de la souris au trackpad.

try
    tell application "System Preferences"
        reveal pane "com.apple.preference.trackpad"
    end tell
    tell application "System Events"
        tell process "System Preferences"
            click radio button "Scroll & Zoom" of tab group 1 of window "Trackpad"
            click checkbox 1 of tab group 1 of window "Trackpad"
        tell application "System Preferences" to quit
        end tell
    end tell
end try

Modifié : J'ai oublié de mentionner que j'ai besoin d'accorder à la autorisation d'accessibilité pour une fois (lorsque vous y êtes invité). Après cette demande unique, tout fonctionne comme sur des roulettes.

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