Ich bevorzuge eine "natürliche" Scrollrichtung, wenn ich mein MBAir-Trackpad verwende, aber eine "unnatürliche", wenn ich die Maus verwende. Ich wechsle häufig hin und her, je nachdem, wo ich arbeite, also habe ich ein bisschen AppleScript verwendet, um die Einstellung zu ändern. Dieses Skript funktionierte nicht mehr, als ich auf Mac OS Yosemite aktualisierte. Es öffnet immer noch den Scroll & Zoom-Bereich der Trackpad-Einstellungen, aber es aktiviert nicht das Kontrollkästchen. Ich habe ein paar Dinge ausprobiert, aber ich kann es nicht zum Laufen bringen. Ich bin kein Apple-Entwickler und habe daher keine Debugging-Tools. Irgendwelche Tipps?
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
Stellen Sie zunächst sicher, dass Applescripts die Berechtigung zum Ändern von Apps hat. System Preferences | Security & Privacy | Accessibility
Dies kann durch Öffnen und Aktivieren des Skript-Editors erfolgen . Dies ist ein einmaliger Vorgang und Sie sollten ihn nicht erneut überprüfen müssen.
Ich habe denselben Ausschnitt ausgeführt, den @Bowen in seiner Frage zu Mojave bereitgestellt hat, und habe bemerkt, was er beschrieben hat. Ich habe es behoben, indem ich die von @Bowen in seiner Antwort erwähnte Verzögerung hinzugefügt habe. Das Kästchen würde jetzt, da wir eine kleine Verzögerung hinzugefügt haben, entweder aktiviert oder deaktiviert.
Hier ist das Beispiel, das ich direkt aus dem Skript-Editor ausgeführt habe:
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
Außerdem habe ich in Bezug auf dieses Thema etwas mit Ideen aus diesem Thread erstellt, da die Leute es möglicherweise gemäß ihren Einstellungen automatisieren möchten. Das folgende Skript ist "Automator ready" oder kann als Anwendung exportiert werden, damit Sie es beim Start ausführen können oder wie Sie es ausführen möchten. Sie müssen auch den Zugriff auf die exportierte Anwendung zulassen, wie im obigen Bild für "Scroll direction Clicker" gezeigt. Dies ist spezifisch für eine gefundene Logitech-Maus, kann aber leicht auf jeden anderen Schnur-/Maustyp geändert werden. Es kann auch als anständige Referenz verwendet werden, auf der die Bildlaufrichtung aufgebaut werden kann. Ich jedenfalls hatte es satt, die Bildlaufrichtung umzukehren, wenn ich von der Maus zum Trackpad gehe, und so habe ich diesen Thread gefunden.
Maßgeschneidert für den Export als Anwendung aus dem Skripteditor heraus
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
Ändern Sie "activate" in "run", damit das Skript im Hintergrund ausgeführt wird. Fügen Sie am Ende des Skripts auch "quit" mit einer Verzögerung von 0,6 hinzu, um die Systemeinstellungen nach der Ausführung des Skripts zu beenden.
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
Sie können dies ohne Applescript lösen: https://pilotmoon.com/scrollreverser/
Ich habe meine eigene Frage beantwortet: Wenn dieses Skript nicht funktioniert, gehen Sie zu Systemeinstellungen | Sicherheit & Datenschutz | Zugänglichkeit und stellen Sie sicher, dass der Skripteditor aktiviert ist, damit Applescripts die GUI steuern kann.
Dies ist eine leicht modifizierte Version der Antwort von @TODO und ist von dieser Antwort auf eine verwandte Frage inspiriert. Dieses AppleScript schaltet das Scrollen direkt lautlos/unsichtbar um. Ich speichere es als Anwendung und starte es über Spotlight, wenn ich zwischen Maus und Trackpad wechsle.
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
Bearbeitet: Ich habe vergessen zu erwähnen, dass ich einmalig die Erlaubnis zur Barrierefreiheit erteilen muss (wenn ich dazu aufgefordert werde). Nach der einmaligen Aufforderung funktioniert es wie am Schnürchen
Was also passierte, war, dass Radfahren dachte, der Code sei zu schnell. Also habe ich Verzögerungen dazwischen gesetzt, wo es nicht funktioniert hat, und es funktioniert perfekt. Wenn Sie möchten, können Sie die Verzögerung auf 0,5 oder 0,2 reduzieren
Anwendung mitteilen „Systemeinstellungen“ aktivieren Aktuelles Fenster auf Fenster „com.apple.preference.trackpad“ setzen Ende mitteilen
Anwendung „Systemereignisse“ mitteilen Prozess „Systemeinstellungen“ mitteilen Verzögerung (1) Optionsfeld „Scroll & Zoom“ der Registerkartengruppe 1 des Fensters „Trackpad“ anklicken Verzögerung (1) Kontrollkästchen 1 der Registerkartengruppe 1 des Fensters „Trackpad“ anklicken Verzögerung (1) Ende erzählen Ende erzählen
Ich habe eine kleine Mac MenuBar-App erstellt , um dieses Verhalten zu automatisieren ( Scrolly ). Was ist der Unterschied - fragen Sie vielleicht - zu scrollreverser . Die Scrollreverser- App ist wirklich nett, aber der Nachteil daran ist, dass sie die Einstellungen nicht wirklich ändert (was meine App tut, dank euch und den Apple-Skripten, die alle in diesem Thread geteilt haben).
Wenn du möchtest, kannst du hier reinschauen und es ausprobieren. Mindest. Anforderungen sind MacOS 11. Da ich SwiftUI 2 testen wollte, musste ich die min. Ausführung.
Das hat bei mir funktioniert:
tell application "System Preferences"
reveal anchor "trackpadTab" of pane id "com.apple.preference.trackpad"
end tell
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of tab group 1 of window 0
end tell
quit application "System Preferences"
Den Code habe ich mir hier ausgeliehen .
TimSum
MACHEN