I have a Logitech mouse that I use with my Macbook Pro. I've been using it for a week now and I just CAN'T get used to the inverse scrolling direction on the mouse wheel. I decided to change it in my System Preferences since I can't automatically change it in the Logitech mouse software.

Sometimes when I can't use my mouse, I have to use my trackpad, and getting used to the "natural" scrolling is annoying.

Is there a way to make my Macbook automatically change the scrolling direction depending if I'm using my trackpad and my mouse?

Does anyone know if there's a script that I can use? I'm OK with just using it on my Dock. I already have a script for clearing my clipboard.

  • Which mouse is it? Perhaps more importantly, what software came with it? I've got a Logitech trackpad (and keyboard) and the software for them is "Logitech Options" - if you've installed it it'll appear in the bottom row of your Preferences. My trackpad has an option for "Scroll direction" - your mouse may, too. Note that I also have a Logitech trackball that doesn't use Logitech Options, so YMMV! (Responded as a comment because (a) this isn't really an answer, and (b) I don't know yet if it's useful info).
    – John N
    Dec 13, 2016 at 13:19

3 Answers 3


When I can, I prefer my own home-rolled solution to adding more third party software and if you want to toggle the state of the Scroll direction: natural checkbox, which is a global setting and found under both the Mouse and the Trackpad preference panes, under Point & Click, in System Preferences, you can use the following AppleScript code saved as an application and then place it in the Dock via drag and drop.

  • Note that because this is a global setting, it doesn't matter whether you check/uncheck from either the Mouse or the Trackpad preference panes and as such I've coded this to target the Mouse preference pane as it should have the checkbox even when a Trackpad isn't present.

I saved the following AppleScript code in Script Editor as an application named: Toggle Natural Scrolling

on run
        tell application "System Preferences"
            set current pane to pane "com.apple.preference.mouse"
        end tell
        tell application "System Events" to tell process "System Preferences"
            tell radio button 1 of tab group 1 of window 1 to if value is 0 then click
            set cbValue to value of (click checkbox 1 of tab group 1 of window 1)
        end tell
        tell application "System Preferences" to quit
        tell me
            if cbValue is equal to 1 then
                -- display dialog "Natural scrolling is now active." buttons {"OK"} default button 1 with title "Toggle Natural Scrolling" giving up after 3
                display notification "Natural scrolling is now active."
                -- display dialog "Natural scrolling is no longer active." buttons {"OK"} default button 1 with title "Toggle Natural Scrolling" giving up after 3
                display notification "Natural scrolling is no longer active."
            end if
        end tell
    on error eStr number eNum
        display dialog eStr & " number " & eNum buttons {"OK"} default button 1 with title "Toggle Natural Scrolling" with icon caution
    end try
end run

As presently coded the display dialog commands are commented out and are there because I originally wrote this under OS X 10.8.5, which doesn't support the display notification command, however I've also tested (some of the code) under macOS 10.12 and why the display notification command is being used. I've left both in the code since I do not know which version you're running and you can comment/uncomment accordingly.

Under OS X 10.9 and later, you will need to add the Toggle Natural Scrolling to Accessibility, under Privacy, under Security & Privacy preferences, in System Preferences. If you don’t, you’ll get the following error when running it:

Toggle Natural Scrolling is not allowed assistive access. number -1719

  • 1
    Every time you change and save the file, you'll need to uncheck and re-check the entry under Accessibility for it to work.
    – Daniel
    Apr 10, 2020 at 12:40
  • @Daniel, Yes, the is normal expected behavior and SOP as a safety measure against running unauthorized code. Apr 10, 2020 at 18:22
  • Yes, I realize this might be intended behavior, however it is not obvious. The box is still checked, but it is not respected since it is for a previous version of the script. I added my comment in case someone was scratching their heads as to why their changes weren't working.
    – Daniel
    Apr 16, 2020 at 17:02
  • I got this from your script: System Settings got an error: AppleEvent handler failed. number -10000 Mar 28, 2023 at 14:06

I made an app to solve this issue in as simple as a way as possible! It's open source and less than 300 lines of swift code, if you are paranoid you can check it out and build it yourself.



In the case of using an Apple Magic Mouse with my MacBook Pro I found that when I changed the setting for 'Scrolling Direction: Natural' by turning it off in the Mouse settings, that the same setting is also changed in the Trackpad settings.

Searching on this site I found this post which provides a link to software which allows you to set separate settings for your mouse and trackpad.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .