Domanda:
Modifica della direzione di scorrimento del trackpad con AppleScript in Yosemite
Bowen
2014-10-27 23:01:48 UTC
view on stackexchange narkive permalink

Preferisco la direzione di scorrimento "naturale" quando utilizzo il trackpad MBAir, ma "innaturale" quando si usa il mouse. Passo spesso avanti e indietro a seconda di dove sto lavorando, quindi ho usato un po 'di AppleScript per cambiare l'impostazione. Questo script ha smesso di funzionare quando ho eseguito l'aggiornamento a Mac OS Yosemite. Apre ancora il riquadro Zoom di scorrimento & delle preferenze del trackpad, ma non fa clic sulla casella di controllo. Ho provato alcune cose ma non riesco a farlo funzionare .. Non sono uno sviluppatore Apple, quindi non ho strumenti di debug. Qualche consiglio?

  prova a dire all'applicazione "Preferenze di Sistema" attiva imposta il riquadro corrente sul riquadro "com.apple.preference.trackpad" end tell tell application "System Events" tell process "System Preferences" click radio button " Scorri & Zoom "del gruppo di schede 1 della finestra" Trackpad "fai clic sulla casella di controllo 1 del gruppo di schede 1 della finestra" Trackpad "end tell end tellend try  
Sei risposte:
TODO
2019-01-18 08:59:33 UTC
view on stackexchange narkive permalink

Innanzitutto, assicurati che Applescripts disponga dell'autorizzazione per modificare le app. Questo può essere fatto aprendo Preferenze di Sistema | Sicurezza & Privacy | Accessibilità e controllo di Script Editor . Questo è un processo una tantum e non dovresti controllarlo di nuovo.

Ho eseguito lo stesso frammento fornito da @Bowen nella sua domanda su Mojave e ho notato ciò che ha descritto. L'ho risolto aggiungendo il ritardo menzionato da @Bowen nella sua risposta. La casella dovrebbe selezionare o deselezionare ora che abbiamo aggiunto un piccolo ritardo.

Ecco l'esempio che ho eseguito direttamente da Script Editor:

  prova
dire all'applicazione "Preferenze di Sistema"
    attivare
    imposta il riquadro corrente sul riquadro "com.apple.preference.trackpad"
fine raccontare
ritardo 2
dire all'applicazione "Eventi di sistema"
    dire al processo "Preferenze di Sistema"
        fare clic sul pulsante di opzione "Scroll & Zoom" del gruppo di schede 1 della finestra "Trackpad"
        fare clic sulla casella di controllo 1 del gruppo di schede 1 della finestra "Trackpad"
        dire all'applicazione "Preferenze di Sistema" di uscire
    fine raccontare
fine raccontare
fine prova
 

Inoltre, in relazione a questo argomento, ho creato qualcosa usando le idee di questo thread, poiché le persone potrebbero volerlo automatizzare secondo le loro impostazioni. Lo script seguente è "pronto per Automator", o può essere esportato come un'applicazione in modo da poterlo eseguire all'avvio o comunque si desidera eseguirlo. È inoltre necessario consentire l'accesso all'applicazione esportata come mostrato nell'immagine sopra per "Clicker di direzione di scorrimento". Questo è specifico per il rilevamento di un mouse Logitech, ma può essere facilmente modificato con qualsiasi altro tipo di stringa / tipo di mouse. Può anche essere usato come riferimento decente da cui partire per la direzione di scorrimento. Per prima cosa mi sono stancato di invertire la direzione di scorrimento quando passavo dal mouse al trackpad, ed è così che ho trovato questo thread.

T su misura per essere esportato come applicazione da Script Editor

  prova
    imposta logitech su "Logitech"
    provare
imposta scriptOutput per eseguire lo script di shell "system_profiler SPUSBDataType | grep -i logitech"
        se scriptOutput contiene logitech, allora
            dire all'applicazione "Preferenze di Sistema"
                attivare
                imposta il riquadro corrente sul riquadro "com.apple.preference.trackpad"
            fine raccontare
            ritardo 2
            dire all'applicazione "Eventi di sistema"
                dire al processo "Preferenze di Sistema"
                    imposta checkBoxOne sulla casella di controllo 1 del gruppo di schede 1 della finestra "Trackpad"
                    fare clic sul pulsante di opzione "Scroll & Zoom" del gruppo di schede 1 della finestra "Trackpad"
                    dire a checkBoxOne se il valore è 1, quindi fare clic
                    dire all'applicazione "Preferenze di Sistema" di uscire
                fine raccontare
            fine raccontare
        finisci se
    in caso di errore errMsg
        log errMsg
        dire all'applicazione "Preferenze di Sistema"
            attivare
            imposta il riquadro corrente sul riquadro "com.apple.preference.trackpad"
        fine raccontare
        ritardo 2
        dire all'applicazione "Eventi di sistema"
            dire al processo "Preferenze di Sistema"
                imposta checkBoxOne sulla casella di controllo 1 del gruppo di schede 1 della finestra "Trackpad"
                fare clic sul pulsante di opzione "Scroll & Zoom" del gruppo di schede 1 della finestra "Trackpad"
                indicare a checkBoxOne se il valore è 0, quindi fare clic
                dire all'applicazione "Preferenze di Sistema" di uscire
            fine raccontare
        fine raccontare
    fine prova
fine prova
 
Sto usando il tuo primo esempio in un servizio Automator.Quando lo avvio da un'altra app (ad esempio Safari), l'area Sicurezza e privacy vuole che conceda l'accesso a quell'app per controllare le Preferenze di Sistema e gli Eventi di Sistema. Non voglio necessariamente farlo, né voglio dover autorizzare ogni app che potrei avere aperta. C'è un modo per aggirare questo?Ho qualcosa configurato in modo errato?O è solo una parte dei cambiamenti di sicurezza del Mojave?
Ho aggiornato la mia risposta per mostrare che dovresti concedere l'accesso solo una volta.Dopodiché, non dovresti farlo continuamente.Inoltre, per quanto ne so, non puoi eseguire uno script / Automator senza concedergli l'accesso poiché si tratta di un problema di sicurezza e approvandolo acconsenti a quel rischio, anche se non è un programma rischioso.
David Raj Kumar
2020-05-14 16:23:40 UTC
view on stackexchange narkive permalink

Cambia "attivare" in "esegui" per eseguire lo script in background.aggiungi anche "quit" alla fine dello script con un ritardo di 0.6 per uscire dalle preferenze di sistema dopo l'esecuzione dello script.

  prova
dire all'applicazione "Preferenze di Sistema"
    (correre)
    imposta il riquadro corrente sul riquadro "com.apple.preference.trackpad"
fine raccontare
dire all'applicazione "Eventi di sistema"
    dire al processo "Preferenze di Sistema"
        ritardo 0.6
        fare clic sul pulsante di opzione "Scroll & Zoom" del gruppo di schede 1 della finestra "Trackpad"
        fare clic sulla casella di controllo 1 del gruppo di schede 1 della finestra "Trackpad"
    fine raccontare

    dì all'applicazione "Preferenze di Sistema" di uscire
fine raccontare
fine prova
 
Grazie per questo!Sto creando un piccolo programma go wrapper per eseguirlo.Ti aggiungerà come collaboratore nel repository GitHub.
contento che abbia aiutato.
Bowen
2014-10-28 01:44:45 UTC
view on stackexchange narkive permalink

Ho risposto alla mia domanda: se questo script non funziona, vai su Preferenze di Sistema | Sicurezza & Privacy | Accessibilità e assicurati che Script Editor sia attivato per consentire ad Applescripts di controllare la GUI.

GJ.
2017-09-03 17:09:13 UTC
view on stackexchange narkive permalink

Puoi risolvere questo problema senza alcun appello: https://pilotmoon.com/scrollreverser/

Wyatt Chilton
2016-03-29 22:31:54 UTC
view on stackexchange narkive permalink

Quindi quello che stava succedendo era che il ciclismo pensava che il codice fosse troppo veloce.Quindi quello che ho fatto è stato mettere dei ritardi tra dove non funzionava e funziona perfettamente.Se lo desideri, puoi ridurre il ritardo a 0,5 o 0,2

dì all'applicazione "Preferenze di sistema" di attivare imposta il riquadro corrente sul riquadro "com.apple.preference.trackpad" end tell

indica all'applicazione "Eventi di sistema" indica al processo "Preferenze di sistema" ritardo (1) fai clic sul pulsante di opzione "Scorri & Zoom" del gruppo di schede 1 della finestra Ritardo "Trackpad" (1) fai clic sulla casella 1 del gruppo di schede 1 della finestra "Trackpad"delay (1) end tellend tell

Alex Feng
2020-02-23 16:37:51 UTC
view on stackexchange narkive permalink

Questa è una versione leggermente modificata di la risposta fornita da @TODO, ed è ispirata da questa risposta a una domanda correlata. Questo AppleScript commuterà lo scorrimento direttamente in modo silenzioso / invisibile. Lo salvo come applicazione e lo avvio tramite Spotlight ogni volta che passo dal mouse al trackpad.

  prova
    dire all'applicazione "Preferenze di Sistema"
        rivelare il riquadro "com.apple.preference.trackpad"
    fine raccontare
    dire all'applicazione "Eventi di sistema"
        dire al processo "Preferenze di Sistema"
            fare clic sul pulsante di opzione "Scroll & Zoom" del gruppo di schede 1 della finestra "Trackpad"
            fare clic sulla casella di controllo 1 del gruppo di schede 1 della finestra "Trackpad"
        dì all'applicazione "Preferenze di Sistema" di uscire
        fine raccontare
    fine raccontare
fine prova
 

Modificato: ho dimenticato di dire che devo concedere l'permission di accessibilità per una volta (quando richiesto). Dopo il prompt una tantum, funziona a meraviglia



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...