
Some time ago and for about a year I used a Mac, which had natural scrolling by default. I decided to resist the urge to immediately configure it to work like Windows, and instead I made it a point to give natural scrolling a try for at least a while before making up my mind as to whether to keep it or lose it. While giving it a try, I was surprised to see that it was very easy for me to adjust to it, despite the fact that I have been using the unnatural Windows scrolling mode for nearly 30 years. (Ever since the mouse wheel became a thing.) I found that natural scrolling was indeed... natural. So, I kept using it, and I became addicted to it. Ever since then, I always have to configure natural scrolling on any Windows machine that I get my hands on before I can start using that machine.
For decades, Windows has been so poor that it did not offer any user interface through which a novice user can change the mouse wheel scrolling mode. To do that you had to edit the registry, and the setting you had to modify was a machine setting, so you would be affecting the mouse wheel mode for all users, not just for yourself. This is unbelievably lame, but hey, that's Windows, we are totally used to lame.
As of Windows 11, update 24H2 which came out in late 2024, there is now support for switching to natural mouse wheel scrolling as a regular user setting; however, this setting is not necessarily observed by software that accesses the mouse via low-level APIs such as DirectX; thus, you may change the setting, and you may enjoy natural mouse wheel scrolling on all of your regular Windows applications, but if you try to play a game, you will find that the wheel works the wrong way in the game, and there is no way to work around that.
So, until all games are updated to respect this new Windows setting, we still have to use the good old registry hack, which is apparently applied at the driver level, and is therefore respected by all software.
There exists a procedure for finding the specific mouse device that you are using, and modifying the wheel mode of only that device, but it is finicky, so we will be skipping that procedure and modifying the setting for all mouse devices that are currently connected to the computer, or have ever been connected. If a new mouse is connected to the system, the procedure will need to be repeated.
Luckily, I do not have any contractual obligations to give warnings regarding the alleged dangers of modifying the registry; so, without further ado, here is what you need to do in order to configure natural scrolling under Windows:
- Open up RegEdit, and navigate to
Computer\HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Enum\HID - Search for values named
FlipFlopWheel. (Do not forget to check the "Search in subtree" checkbox.) - For each value you find, if the data is 0, change the data to 1.
- Restart Windows. (Logging out and back in will not work, because remember, this is a Windows-wide setting, not a per-user setting.)
Cover image: Artwork by michael.gr based on original mouse-15887 by Arkthus from the Noun Project