Fix Mouse Cursor Theme Reset After a Display Scaling Change on Windows 11
🔍 WiseChecker

Fix Mouse Cursor Theme Reset After a Display Scaling Change on Windows 11

Quick fix: Display scaling changes reset the cursor scheme because Windows reloads HKCU\Control Panel\Cursors from the system default. Re-apply your scheme via Control Panel → Mouse → Pointers. To persist permanently, save the cursor scheme as a named scheme so reload picks it up.

You changed the display scaling from 100% to 125% (or moved between monitors with different DPI). Your custom mouse cursor scheme reverted to the Windows default. Re-applying via Settings doesn’t stick — the next scaling change reverts it again.

Symptom: Mouse cursor scheme resets to default after changing display scaling on Windows 11.
Affects: Windows 11 with custom cursor schemes and DPI changes.
Fix time: 5 minutes.

ADVERTISEMENT

Why scaling resets the cursor

Windows generates per-DPI cursor variants from the .cur or .ani files referenced in the scheme. When scaling changes, Windows regenerates the cursor render. If the scheme doesn’t include matching DPI variants, Windows falls back to the default scheme. Custom schemes that don’t ship multi-DPI variants get effectively removed.

Method 1: Save the scheme by name

  1. Open Control Panel → Mouse → Pointers.
  2. Pick your custom pointers individually.
  3. Click Save As… at the top of the dialog. Name your scheme.
  4. Click OK. Now the scheme is registered under HKCU\Control Panel\Cursors\Schemes.
  5. Future scaling changes preserve the named scheme as long as the underlying files exist.

ADVERTISEMENT

Method 2: Use built-in cursor schemes only

  1. Built-in schemes (Windows Default, Windows Black, etc.) ship with all DPI variants.
  2. Choose one of these. It survives scaling changes intact.
  3. For accessibility (large cursor): use the size slider in Settings → Accessibility → Mouse pointer and touch.

Method 3: Re-apply via PowerShell on display change

  1. Create a script that applies your cursor scheme:

    $path = “HKCU:\Control Panel\Cursors”

    Set-ItemProperty -Path $path -Name “” -Value “Your Scheme Name”

    $signature = @””[DllImport(”user32.dll”)] public static extern int SystemParametersInfo(int uAction, int uParam, IntPtr lpvParam, int fuWinIni);”“@

    Add-Type -MemberDefinition $signature -Name CursorParams -Namespace WinAPI

    [WinAPI.CursorParams]::SystemParametersInfo(0x57, 0, [IntPtr]::Zero, 0)
  2. Save and run via Task Scheduler triggered on display change event (Source: Display, Event ID 117).

Verification

  • Change display scaling. Cursor scheme remains your custom one.
  • Move between monitors with different DPI. Cursor adapts size but keeps your style.

If none of these work

If the scheme keeps reverting despite the named save, the cursor files may not be in the expected location. Verify the .cur/.ani files referenced in HKCU\Control Panel\Cursors\<Scheme> all exist. For .ani files without DPI variants, edit them with a tool like RealWorld Cursor Editor to add 125%/150% variants.

Bottom line: Save the cursor scheme as a named scheme; built-in schemes survive DPI changes natively. For custom schemes that lose state, the script-on-display-change is a workable fallback.

ADVERTISEMENT