Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is there a way to make a mouse scroll wheel invert its direction? I'd like to scroll upwards and have that action scroll downwards and vice-versa. There is no setting on the Mouse control panel that makes this possible.

Any pointers to a hack or a particular mouse model that has such a setting would be appreciated. I am using Windows 7.

share|improve this question
add comment

6 Answers

up vote 109 down vote accepted

There is a registry setting named FlipFlopWheel that does this! HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_???\VID_???\Device Parameters. There might be multiple mouse entries. The default value for FlipFlopWheel should already ready 0. Change into 1 to invert scrolling. Reboot or possibly replug in mouse for changes to take effect.

To get the VID_??? number you have two options:

  1. Go to the mouse control panel, click the Hardware tab, then click Properties.

    Now in the HID-compliant mouse Properties window click the Details tab and select the Device Instance Path property. The registry path is in there. You only have to unplug and plug back in my mouse for this to take effect.

  2. Run this in PowerShell (from Start » All Programs » Accessories » Windows PowerShell):

    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
    
share|improve this answer
3  
In Windows 8 there is also a setting for "FlipFlopHScroll" that flips the horizontal scrolling (especially useful for Win8). –  Pete Amundson Aug 2 '12 at 14:25
    
Does anyone know if adding this key to a PS/2 mouse works as well? –  Alo Sep 15 '12 at 0:28
13  
Don't worry about what the ??? should be, just run this in PowerShell: Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 } –  Jaykul Sep 16 '12 at 3:28
    
I'm sure I've followed the steps in this answer before, but the machine I'm on right now does not have the HID registry folder in that location or anywhere else in the registry. It's an HP EliteBook running Windows 7. Any ideas on where else to look? –  CoderDennis Mar 15 '13 at 15:04
1  
How to find the correct registry key? The key must match the hardware id of your mouse. To find that: Control Panel > Device Manager > Mice... > HID-compliant mouse > right click > properties > Details > Property (dropdown) = Hardware Ids > you will see the id on 1st line, this should match one of the entries in registry above. –  Marwan Jun 16 '13 at 6:13
add comment

First install AutoHotKey. Now create a script that looks like this :

WheelUp::
Send {WheelDown}
Return

WheelDown::
Send {WheelUp}
Return

Save it as a .ahk file and double-click the file to run it. Now you should have inverted the mouse wheel scrolling.

All information from here.

Add the following to the script to invert horizontal wheel scrolling:

WheelLeft::
Send {WheelRight}
Return

WheelRight::
Send {WheelLeft}
Return

Scrolling with the wheel might exceed the default limit of hotkey presses in a specified time interval. By default, this is 70 hotkey presses (#MaxHotkeysPerInterval) per 2000 milliseconds (#HotkeyInterval). Add this directive to your script to increase the limit from 70 to 200 hotkey presses per interval:

#MaxHotkeysPerInterval 200
share|improve this answer
    
I'll try this out at work and if it works I'll tag your answer as the right answer. Thanks! –  Christian Correa Jul 14 '11 at 23:10
    
Works great. It's not perfect, every now and then it won't catch the "key" event, but as long as you keep scrolling, the very next event will be caught. The net effect is what I was looking for. So that would have to do for now, until manufacturers make this option configurable in Windows. Thanks! –  Christian Correa Jul 15 '11 at 19:07
3  
There is an option in registry as suggested by Richard. –  tig Feb 1 '12 at 15:44
    
This one works best if your access policy prohibits editing the registry. Great idea! –  mattmc3 Jan 22 at 20:08
    
+1 For my Windows 7 installation this was the answer that allowed me to invert horizontal scrolling. –  Pauly Glott Feb 17 at 17:12
add comment

You can also use the application X-Mouse Button Control to accomplish this. You only need to set the "Wheel Up" button to the "Scroll Window Down" command, and vice-versa. I am using this on Windows XP, but the app should work on 7 or Vista, also. It was very quick to set up, and since it's a GUI application, it was easier to use.

share|improve this answer
    
I installed X-Mouse Button Control on my Windows 7 and scrolling is now reversed. Works perfect. Same direction as my home Mac with OS X Lion. –  Magnus Aug 2 '11 at 7:11
2  
v2.2 has an "invert mouse wheel scrolling" on the "Scrolling & Navigation" tab. –  Lars Truijens Nov 14 '11 at 20:26
add comment

I've written a small c# app to change the registry settings for all devices. It enumerates every device and changes the 'FlipFlopWheel' setting to 1 or 0 depending on which button you press.

the full source is available on github, the source code that actually does the flipping the registry setting (<100 lines) is here: https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/Form1.cs

for those just wanting to 'get it done' here is the executable (asks for UAC elevation) https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/bin/Debug/FlipWheel.exe

share|improve this answer
4  
People usually like to read a little more about your application before downloading and running a .exe ;) Please extend your answer and write a proper introduction. Please also refrain from simply adding your link to other answers unless you really feel like it improves the answer at hand. –  Oliver Salzburg Jul 29 '12 at 18:22
    
The guy provided the source code for the executable, it's hardly mischievous if you feel inclined to check it, just look at it, it's a tiny script. Thanks for the script @JamiePate, it worked great. It was nice not having to tinker with the registry. –  samayres1992 Mar 4 at 1:46
add comment

I have a Microsoft mouse attached to a bootcamped MacBook. It was easy to launch Mouse and Keyboard Center and set [Wheel->Reverse scroll direction]. Irony certainly plays a role here.

share|improve this answer
1  
Just for clarity: Mouse and Keyboard Center comes with Microsoft hardware and is unrelated to Macs. –  Louis Nov 2 '12 at 6:34
    
Thank you, Louis! This shall not be overlooked. –  Kenneth Laskoski Nov 4 '12 at 3:46
1  
This setting does not seem to be reloaded after reboot in Win8. The setting is shown as on when you go into the dialog. But it needs to be turned off then back on to re-enable. –  Metro Jan 15 '13 at 22:34
    
Yes, I recently upgraded to Windows 8 and noticed that, too. I ended up using @Richard's method. –  Kenneth Laskoski Jan 16 '13 at 19:56
    
Note that @Jaykul's (otherwise convenient) shortcut may not work for everyone. In my case I needed to invert the wheel in native Windows, but sometimes I open the same Windows in VirtualBox, which already takes care of mouse/keyboard input. –  Kenneth Laskoski Feb 9 '13 at 6:45
add comment

Confirm again X-Mouse Button Control http://www.highrez.co.uk/downloads/XMouseButtonControl.htm is a clean and perfect solution on Windows 7 :)

share|improve this answer
1  
What makes it clean and perfect? Can you please summarize what's in that page so your answer is still useful if it changes or becomes unavailable? Please read the help article on answering. –  Moses Oct 11 '13 at 23:33
    
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. –  Kevin Panko Oct 12 '13 at 0:56
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.