How to Reverse Your Mouse Scroll Direction in Windows Using PowerShell

Time to read: 8 mins

If you’re used to macOS-style scrolling or simply prefer natural scroll direction, Windows unfortunately doesn’t make it easy to reverse your mouse wheel scroll, especially for non-touchpad mice. But with a quick PowerShell script and admin access, you can flip the scroll direction of any USB or Bluetooth mouse without installing third-party software.

Here’s a step-by-step guide to safely detect and change your mouse scroll behaviour.


What You’ll Need:

  • A Windows 10/11 PC
  • Administrator privileges
  • A few minutes with PowerShell

Step 1: Open PowerShell as Administrator

  1. Press Start, type PowerShell.
  2. Right-click Windows PowerShell and choose Run as Administrator.

Step 2: Copy & Paste the Script

Paste the following script into your PowerShell window and hit Enter:

Get-PnpDevice -Class Mouse -PresentOnly -Status OK | ForEach-Object {
    $device = $_
    $deviceID = $device.DeviceID
    $regPath = "HKLM:\SYSTEM\CurrentControlSet\Enum\$deviceID\Device Parameters"

    try {
        $currentValue = (Get-ItemProperty -Path $regPath -Name FlipFlopWheel -ErrorAction Stop).FlipFlopWheel
        Write-Host "`n$($device.Name): $deviceID"
        Write-Host "Current FlipFlopWheel value: $currentValue (0 = Normal, 1 = Reversed)"
        
        $change = Read-Host "Do you want to change the scroll direction for this device? (Y or N)"
        if ($change -match '^[Yy]$') {
            $newValue = if ($currentValue -eq 0) { 1 } else { 0 }
            Set-ItemProperty -Path $regPath -Name FlipFlopWheel -Value $newValue -ErrorAction Stop
            Write-Host "→ FlipFlopWheel updated to $newValue"
        } else {
            Write-Host "→ No change made to this device."
        }
    } catch {
        Write-Warning "Could not read or modify $($device.Name) ($deviceID). $_"
    }
}

# Prompt for reboot
$reboot = Read-Host "`nYou must reboot your PC for changes to take effect. Reboot now? (Y or N)"
if ($reboot -match '^[Yy]$') {
    Write-Host "Rebooting now..."
    Restart-Computer
} else {
    Write-Host "Changes will apply after your next reboot. Exiting."
}

Step 3: Follow the Prompts

  • The script will list each mouse currently connected.
  • For each one, it will tell you whether the scroll direction is normal or reversed.
  • You can then choose whether to toggle it.
  • At the end, you’ll be prompted to reboot (required for the change to take effect).

What Does “FlipFlopWheel” Mean?

Windows stores the scroll direction per mouse in the registry under a value called FlipFlopWheel.

  • 0 = Default scroll direction
  • 1 = Reversed (“natural”) scroll direction

This script modifies that value directly and safely.


Safety Notes:

  • This only affects mouse scroll (not touchpads).
  • Always run the script with administrator rights.
  • If you’re unsure, back up the registry or create a System Restore point first.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.