
For some the direction one scrolls using a mouse, touchpad (trackpad), or trackball may feel it goes in the wrong direction and just feels odd. Thankfully the scroll direction can be changed even though some operating systems do not provide a convenient setting to quickly make the switch from traditional to natural (reverse).
What Is Natural Scroll?
Within a graphical user interface a natural scroll is an upward motion on a mouse scroll wheel, touchpad or trackball that causes the content of the window to move down and a downward motion to move up.
To better understand this let’s take a look at the animated illustrations of traditional vs. natural scroll directions by Allan Day and Jakub Steiner (GNU General Public License v2.0).
Traditional mouse scroll
Traditional touch scroll
Natural mouse scroll
Natural touch scroll
For those wishing to dive deeper into the history of natural scrolling, take a look at the article by Tedium entitled, Why Does “Natural Scrolling” Exist, Anyway?
Enable Natural Scroll with GNOME
- Open “Settings”.
- Click on “Mouse & Touchpad” located on the left-hand side.
- Under “Scroll Direction” click “Natural”.
Note
Tested using GNOME v44.1.
Enable Natural Scroll with KDE Plasma
- Open “System Settings”.
- Browse to “Hardware” > “Input Devices” > “Mouse”
- Under “Scrolling” click to “Invert scroll direction” (checkmark).
Note
Tested using KDE Plasma v5.27.4
Enable Natural Scroll with Windows PowerShell
Warning
Before proceeding please make a system backup. Editing the Windows registry can be damaging to operating system if not done correctly.
- Open the “Start Menu” by clicking on it.
- Begin typing without double quotes “powershell” then click on “Run as Administrator”.
-
Copy and paste the following code into the command line of Windows PowerShell.
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
To change back to traditional scroll set the “FlipFlopWheel” value from “1” to “0” without double quotes located towards the end of the code.
-
Verify registry changes.
Copy and paste the following code into the command line of Windows PowerShell. Verify the FlipFlopWheel value is set to “1” for natural scroll or “0” for traditional scroll.
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0
FlipFlopWheel : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_046D&PID_C52B&MI_01&Col01\7&683dbcf&0&0000\Device Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_046D&PID_C52B&MI_01&Col01\7&683dbcf&0&0000 PSChildName : Device Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry ...
Note
Tested using Windows 10 v22H2.
Enable Natural Scroll with Windows Registry Editor
Warning
Before proceeding please make a system backup. Editing the Windows registry can be damaging to operating system if not done correctly.
Doing this process manually first requires knowing the device identifier (ID). Once the device ID is found then the applicable registry entry can be changed to reverse or enable the natural scroll feature.
Find Device ID
- Open the “Start Menu” by clicking on it.
- Begin typing without double quotes “device manager”.
- Click on “Device Manager”.
- Expand “Mice and other pointing devices”.
- Right mouse click on the desired mouse device and left mouse click on “Properties”.
- Left mouse click on the “Details” tab.
- Under the “Property” menu list select “Device instance path” option.
- Make note of the VID value for the mouse (e.g. VID_046D&PID_C52B&MI_01&COL01).
- Click on the “OK” button.
- Close the “Device Manager” window by clicking on the “X” at the top right.
Set Natural Scroll
- Press the
Windows key +R to open the “Run” command dialog. - Type “regedit” without double quotes and then click the “OK” button.
- Click the “Yes” button to continue, when the “User Access Control” dialog appears with “Do you want to allow this app to make changes to your device?”
-
Within “Registry Editor” browse to the following path.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID
- Expand the key folder that matches the VID of your mouse that was noted previously (e.g. VID_046D&PID_C52B&MI_01&COL01).
- Expand the available key.
- Left mouse click on “Device Parameters”.
- Double left mouse click on the “FlipFlopWheel” DWORD to edit the value.
-
Set the “Value data” from “0” to “1” without double quotes.
To change back to traditional scroll set the value from “1” to “0” without double quotes.
- Click on the “OK” button.
- Close the “Registry Editor” window by clicking on the “X” at the top right.
- Restart the computer.
Note
Tested using Windows 10 v22H2.
References
- Allan Day
- Computer mouse, Wikipedia
- How to enable reverse mouse and touchpad scrolling on Windows 11, Windows Central
- Jakub Steiner
- Mouse: make acceleration a switch, GNOME GitLab
- Natural mouse scroll by Allan Day and Jakub Steiner (GNU General Public License v2.0)
- Natural touchpad scroll by Allan Day and Jakub Steiner (GNU General Public License v2.0)
- Redesign Mouse panel + add CcIllustrated and CcSplitRow, GNOME GitLab
- Reverse Mouse Wheel scroll, Microsoft Community
- Scroll wheel, Wikipedia
- Touchpad, Wikipedia
- Trackball, Wikipedia
- Traditional mouse scroll by Allan Day and Jakub Steiner (GNU General Public License v2.0)
- Traditional touchpad scroll by Allan Day and Jakub Steiner (GNU General Public License v2.0)
- Why Does “Natural Scrolling” Exist, Anyway?, Tedium