microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
110.63k stars 6.52k forks source link

Inverse/invert/reverse mouse scroll direction #6434

Closed jimmyff closed 2 months ago

jimmyff commented 4 years ago

As a Linux & Mac user of the last ~20 years coming to Windows, I find it absolutely crazy that the only way to change the scroll direction is messing around with reg edit. I'm currently trying windows as my full time OS but things like this make me want to spin 180 and rush back to OSX.

This should fundamentally be baked in to Windows itself but I have no idea how to request a feature to that so the next best thing would be a power toy to reverse scroll direction,

Checkmate363 commented 4 years ago

I'm pretty sure there is a setting in Windows to do this, although I can't find it right now (will keep looking though).

Jay-o-Way commented 4 years ago

Did some googling and you are right. Pretty darn difficult to change it and I agree that is stupid.

gczark commented 4 years ago

@jimmyff Have you checked the settings provided by your touchpad driver? Most of the recent synaptic drivers have this option.

You can check in Additional mouse options image image As you can see, this is taken from a Dell system, but the option would possibly apply on other systems.

I hope this helps you.

Edited: Yeah I have the same thoughts why Windows didn't have a unified settings app unlike in Linux systems.

Jay-o-Way commented 4 years ago

@NXVL-nyan who said anything about the touchpad? I bet you he means the scroll wheel on the mouse.

gczark commented 4 years ago

Did some googling and you are right. Pretty darn difficult to change it and I agree that is stupid.

@Jay-o-Way It's not hard to find, and I can tell you. https://www.vvse.com/blog/blog/2012/02/27/reverse-scrolling-on-windows-7/

image image

If you are setting this within only one PC, EXPORT is the key.

Jay-o-Way commented 4 years ago

@NXVL-nyan People should not have to dig this deep into the registry for a setting that is so simple as the scroll direction. This should be something that everybody (even the "simple people" among us) can change in the basic settings.

gczark commented 4 years ago

@Jay-o-Way To consider that jimmyff have used different operating systems, he, I think is more of a power user. He could dig deep into the system himself to make solutions to his problem. Regedit is not different from Settings Manager in XFCE that I use, and in most cases, we use Terminal a lot.

The majority of consumer grade users wouldn't bother if the settings is present or not. Also, maybe the reason why this setting is not surfaced in the UWP Settings app, because the usage is after all counter-intuitive. Reversed scrolling can be more adapted by touch based inputs rather than hardware scroll. But I am not saying that this settings should be kept untouched by a simple user - the term you used.

The Settings is still maturing, the OS Team make updates by merging the whole classic Control Panel. That is a lot of things to work first, since win32 is getting deprecated in the future (not soon) - the 10X thing.

jimmyff commented 4 years ago

Honestly this is a really big thing for people coming from OSX, if Windows wants to bring these people in then it should be a top priority to make this as easy as possible. In OSX land everyone uses windows inversed scroll direction. It just makes jumping to windows extra disorientating when your mouse is scrolling in your perceived wrong direction.

I have no idea why but my windows 10 shows x6 'HID-compliant mouse' which makes this job even more frustrating, plus there are about 30 options all looking very similar VID_XXXXX&PID_XXXX&MI_XX: image OSX & Linux has never required me to do something like this. The registry is just horrible and requiring users to edit it should be a total no-no. As I've not used windows for 20 years I just assumed that the registry would have been a thing of the past.

I've been really trying to make windows work as my daily driver for a couple of days but there have been a multitude of things like as this that is sadly leading me to think that I should stick with OSX for now and try Windows again in a couple of years.

jimmyff commented 4 years ago

Re: touch-pad - yeah I don't see that option, I'm currently using a desktop so maybe that is why. Also sorry for the giant screenshot, I was trying to use the sniping tool but couldn't figure out where it was saving my snipes, they don't seen to be on my clipboard or documents/pictures.

Jay-o-Way commented 4 years ago

@jimmyff I think we are quite on the same page.

Re: touch-pad - yeah I don't see that option, I'm currently using a desktop so maybe that is why.

That's what I thought.

Don't worry about the size of the screenshot. It should be available in the clipboard though. A pop-up (or "toast") should appear in the Action Center and if you click on it you can edit even more. After that it should be an easy copy & paste.

xan2622 commented 3 years ago

Hi guys.

I think that this freeware might interest you : X-Mouse Button Control.

https://www.highrez.co.uk/downloads/XMouseButtonControl.htm

XMBC allows you to change the behavior of the mouse buttons and scroll wheel. The extensive list of functions available to map to your mouse buttons includes options such as:

  • Send any keys using the 'simulated keystrokes' editor
  • Cording (shifting/combining) buttons perform different actions
  • Timed button actions, that change depending how long you hold a button down for
  • Launch any windows application
  • Clipboard control (Copy/Cut/Paste)
  • Media control (Play/Pause/Stop/Volume/Mute etc.)
  • Capture screen (or active window) image to clipboard
  • Click-Drag [Sticky buttons/keys]
  • Click-Drag [Sticky buttons/keys]
  • Various support for specific Windows operating systems, such as Flip3D in Vista, ModernUI/Metro in Windows 8 and Virtual Desktops in Windows 10!
  • And much, much more!

In fact, it allows so many customization that I think that it should be part of Power Toys.

liugangnhm commented 3 years ago

try wizMouse

AkazaRenn commented 3 years ago

Did some googling and you are right. Pretty darn difficult to change it and I agree that is stupid.

@Jay-o-Way It's not hard to find, and I can tell you. https://www.vvse.com/blog/blog/2012/02/27/reverse-scrolling-on-windows-7/

image image

If you are setting this within only one PC, EXPORT is the key.

Is this method still working in 2021? I tried it but nothing has happened. I know it used to work, I have been using it in 2020 but doesn't seem to do anything now.

chrisduran commented 3 years ago

OH YES PLEASE.

The regedit process is a PITA, even harder for bluetooth devices with really long DeviceIDs. It also seems to reset whenever there is a major OS update, or even if you plug your USB mouse into a different USB port (probably a USB controller thing).

Literally every other operating system has this as a base option under mouse settings: MacOS, ChromeOS, all major Linux DE's. Let's get with the times, Windows.

flipphillips commented 3 years ago

Just another vote for a simple switch here. Despite all the bickering, power user folk who have other important things to do could and can dig through regedit and make it work. and amaze their friends and family whilst performing this witchcraft / magic. Woo clout.

I have better stuff to do, like, work, so, it would be awesome to be able to just toggle a switch.

crutkas commented 3 years ago
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }

is a quicker way to just do everything in one shot

htcfreek commented 3 years ago

This issue/feature request exists twice.

This issue is good for the new label mouse utilities

franky920920 commented 3 years ago

This issue is good for the new label mouse utilities

Changing this to enhancement suggestion for mouse utilities.

emirkmo commented 2 years ago

Did some googling and you are right. Pretty darn difficult to change it and I agree that is stupid.

@Jay-o-Way It's not hard to find, and I can tell you. https://www.vvse.com/blog/blog/2012/02/27/reverse-scrolling-on-windows-7/

image image

If you are setting this within only one PC, EXPORT is the key.

It's not that simple if you use software like Logitech G Hub and gaming mice that have multiple IDs, or use multiple mice. As the flip flops will also flip flop the flip flop. Sounds crazy? Try it. If you set it to true for both the actual mouse and the one installed my logitech, you're back to normal. great.

msp commented 2 years ago

You might be lucky if your mouse driver has an option for you to flip direction e.g. Logitech Control Center has for my device.

david-hodgson-at-sky commented 2 years ago

Is this method still working in 2021? I tried it but nothing has happened. I know it used to work, I have been using it in 2020 but doesn't seem to do anything now.

You need to log off & back on for it to take effect.

Dark4Codrutz commented 2 years ago

Is this method still working in 2021? I tried it but nothing has happened. I know it used to work, I have been using it in 2020 but doesn't seem to do anything now.

You need to log off & back on for it to take effect.

or just reconnect the device to reload the registry configs for it. For USB just unplug and replug in same port, for BT turn off and back on (either on PC or on the device end)

jm33-m0 commented 2 years ago

I wrote a script for you to switch natural scroll on and off

https://github.com/jm33-m0/win10-mouse-natural-scroll

crutkas commented 2 years ago

We can’t look at it since the license is GPL 3 but neat. I will remind everyone to review the script and understand what it does before you a powershell script from the internet :)

bfsmithATL commented 2 years ago

I realize this topic has been beat to death, but wanted to comment anyway. I work for a financial firm and their Windows ecosystem, permissions, security are all locked down tight. I'm trying to work with IT to bundle PowerToys so that development/power-users can at least make some tweaks to their environment and keyboards. It would be incredibly ideal to allow mouse wheel reverse as an option in PowerTools. The users don't have enough permission to run regedit or run PowerShell with admin permission, so the normal approaches won't work. I'm still baffled this isn't included in the basic windows mouse settings, I remember using the regedit-based approach back in 2015 😄 Alas, what a great feature to bundle into PowerToys!

fcwoknhenuxdfiyv commented 2 years ago

try wizMouse

@liugangnhm Thanks for the suggestion. WizMouse works perfectly and uses almost no resources.

jm33-m0 commented 2 years ago

@crutkas

We can’t look at it since the license is GPL 3

As suggested by emirkmo, I can change the license of my script to MIT if you want to integrate it

crutkas commented 2 years ago

@jm33-m0 that would let me see what is happening but still would need to understand what is happening. PowerToys has to use public APIs / documented reg keys.

jm33-m0 commented 2 years ago

@crutkas

PowerToys has to use public APIs / documented reg keys.

Not sure if the reg keys are documented, but if you are interested, it's basically this:

    $reg_path = "HKLM:\SYSTEM\CurrentControlSet\Enum\$path\Device Parameters"

    if ($args[0] -eq "reverse") {
        Set-ItemProperty -Path $reg_path -Name FlipFlopWheel -Value 0
        Write-Host "Natural scrolling feature for your mouse has been DISABLED" -ForegroundColor Green
        exit
    }
    Set-ItemProperty -Path $reg_path -Name FlipFlopWheel -Value 1
AkazaRenn commented 1 year ago

I just realized AHK can achieve it with only a few lines of code:

#MaxHotkeysPerInterval 9999
$WheelUp::WheelDown
$WheelDown::WheelUp
abegertler commented 1 year ago

Let's please implement this! This is Crazy that this is not one of the first things implemented by power toys!! It's such an obvious feature for mouse utilities!

xturgorex commented 1 year ago

I want this feature the most

ak2 commented 9 months ago

It wouldn't be too bad if you had to do the regedit hack only once, but you have to repeat the exercise every time you happen to plug the mouse or its dongle into a new port (e.g. on a different docking station), never mind when you use a new mouse.

akrotonx commented 9 months ago

Yup, and the regedit hack worked until it didn't. From one day to another changing the settings did not affect the behaviour anymore. Another frustrating thing about using Windows - and there are so many. As soon as I have the money I'm back to Mac OS. Can't wait.

slrgt commented 7 months ago

yeah im dealing with this currently. sucks having to do the regedit thing every time and i really wish i could do it with powertoys

felipemldias commented 3 months ago

Oh wow, coming from MacOS, I really didn't think I'd have to deal with this. Already had to do the regedit a couple of times, normally won't have this much time on my hands. How come there isn't a quick setting for this?

chrispitzer commented 2 months ago

Piling on to say pretty pretty please on this feature. Editing this in the registry is so painful, and my brain really works well with mouse wheel reversed from windows standard scroll. Power Toys is the best package to fix this!

htcfreek commented 2 months ago

Seems that MS is trying a new setting for this in the latest Windows 11 Canary build.

https://blogs.windows.com/windows-insider/2024/07/24/announcing-windows-11-insider-preview-build-26257-canary-channel/

crutkas commented 2 months ago

@htcfreek, thanks for posting. Yup, thanks everyone for helping provide feedback on this!

Now in Windows Insider builds https://blogs.windows.com/windows-insider/2024/07/24/announcing-windows-11-insider-preview-build-26257-canary-channel/