← All guides AI Release
RU Subscribe to @ai_release1

How to Fix Mouse Double-Click (Ghost Click) on Windows 11: Test and Repair

Updated: 10.11.2026 · AI Release · @ai_release1
How to Fix Mouse Double-Click (Ghost Click) on Windows 11: Test and Repair

TL;DR

Requirements and setup

Illustration: Requirements and setup
Illustration: Requirements and setup

What to do: open PowerShell (Start → type powershell → Enter) and check the version.

Why: the diagnostic script in Step 1 uses Add-Type, which behaves slightly differently on PowerShell 7; on 5.1 the script runs unchanged on every Windows 11 install.

How to check: run the command and confirm the major version is 5.

$PSVersionTable.PSVersion

Expected output (minor numbers vary by build):

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      22621  2506

Example: if you see Major 7, open a second window with powershell.exe -Version 5.1 and continue there.

Also confirm Windows sees the mouse at all:

Get-PnpDevice -Class Mouse | Format-Table Status, FriendlyName, InstanceId -AutoSize

Expected: one or more rows with Status = OK. A row showing Error is covered in Troubleshooting.

Step 1. Run the ghost click test and record a baseline

A ghost click (also called a double-click fault) is when one physical press is reported by the mouse as two press events. Before changing anything, you need a baseline: how many clicks Windows receives per physical click.

What to do: run two tests, a manual one and a timed one.

Test A — Notepad. Open Notepad, type a line of dots, then single-click between two dots and drag the cursor slightly. A healthy mouse places the caret and does not select text; a faulty one selects a character or a word because it received a second click.

Test B — timestamp logger. Save the following as C:\temp\click-probe.ps1 (create the folder first) and run it. It polls the left button for 30 seconds and prints the gap between consecutive presses in milliseconds.

New-Item -ItemType Directory -Path C:\temp -Force | Out-Null

if (-not ("ClickProbe" -as [type])) {
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class ClickProbe {
  [DllImport("user32.dll")] public static extern short GetAsyncKeyState(int vKey);
}
"@
}

$log  = New-Object System.Collections.Generic.List[datetime]
$end  = (Get-Date).AddSeconds(30)
while ((Get-Date) -lt $end) {
  if (([ClickProbe]::GetAsyncKeyState(0x01) -band 0x8000) -ne 0) {
    $log.Add((Get-Date))
    Start-Sleep -Milliseconds 80
  }
  Start-Sleep -Milliseconds 5
}

$prev = $null
foreach ($t in $log) {
  $gap = if ($prev) { [int]($t - $prev).TotalMilliseconds } else { 0 }
  "{0:HH:mm:ss.fff}  gap={1} ms" -f $t, $gap
  $prev = $t
}

Click the left button 10 times at a normal, deliberate rhythm — roughly one click per second. Do not double-click on purpose.

Why: the script gives you a numeric fingerprint. One entry per press with a gap close to your normal rhythm is healthy; two entries a few milliseconds apart, repeated on several presses, is a ghost click. Writing the baseline down before the fix lets you compare afterwards instead of guessing.

How to check: count the lines. 10 presses must produce 10 lines.

Example: a faulty mouse produces pairs like this — the second line is the ghost:

14:02:11.204  gap=0 ms
14:02:11.268  gap=64 ms
14:02:12.519  gap=1251 ms
14:02:12.583  gap=64 ms

Record the count of suspicious pairs (for example "4 ghost pairs out of 10 presses") on paper. That number is your baseline.

Step 2. Fix the software layer: driver, click timing, USB power

Illustration: Step 2. Fix the software layer: driver, click timing, USB power
Illustration: Step 2. Fix the software layer: driver, click timing, USB power

Three software causes account for most non-hardware cases: a stale HID driver, a double-click window that is too long, and USB selective suspend cutting power to the port.

What to do: apply the three fixes in order, testing after each one.

2a. Reinstall the HID mouse driver. Press Win + X → Device Manager → expand Mice and other pointing devices → right-click HID-compliant mouse → Uninstall device (leave "Attempt to remove the driver" unchecked if shown) → Action → Scan for hardware changes. Windows reinstalls the generic driver immediately.

Verify from PowerShell:

pnputil /enum-devices /class Mouse

Expected: an entry with Status: Started and an InstanceId such as HID\VID_xxxx&PID_yyyy\7&1a2b3c4d&0&0000.

2b. Shorten the double-click window. Windows treats two presses inside DoubleClickSpeed milliseconds as one double-click. On a clean install the value is 500. Reading it first is mandatory — never assume.

Get-ItemProperty -Path 'HKCU:\Control Panel\Mouse' -Name DoubleClickSpeed

Then set a shorter window, for example 300 ms, and sign out and back in so Explorer reloads the setting:

Set-ItemProperty -Path 'HKCU:\Control Panel\Mouse' -Name DoubleClickSpeed -Value '300'

The same slider is available with a GUI: Settings → Bluetooth & devices → Mouse → Additional mouse settings → Buttons tab → Double-click speed, dragged toward Fast.

2c. Stop USB selective suspend on the port. In an elevated PowerShell:

powercfg /setacvalueindex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
powercfg /setdcvalueindex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
powercfg /setactive SCHEME_CURRENT

Why: the ghost pair in Step 1 usually comes from a re-enumerated HID device or a debounce window that is too generous. Reinstalling the driver clears a corrupted device state, a shorter DoubleClickSpeed makes Windows reject the second, spurious press, and disabling selective suspend keeps the port powered so the mouse controller does not re-initialise mid-click. If the double clicks started right after a cumulative update rather than gradually, cross-check the known issues first: Windows 11 26H2: common issues after update and how to fix them.

How to check: re-read both registry values and confirm the power setting was written.

Get-ItemProperty -Path 'HKCU:\Control Panel\Mouse' -Name DoubleClickSpeed
powercfg /query SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226

Expected: DoubleClickSpeed : 300 and, in the power output, Current AC Power Setting Index: 0x00000000.

Example: on a wireless mouse with a USB receiver, moving the receiver from a front-panel hub to a rear USB 2.0 port is worth doing at this point — hubs that drop power make the receiver re-enumerate, which produces exactly the ghost pattern from Step 1.

Step 3. Verify the fix and separate hardware from software

Illustration: Step 3. Verify the fix and separate hardware from software
Illustration: Step 3. Verify the fix and separate hardware from software

What to do: re-run the Step 1 logger for 30 seconds with 10 deliberate presses, then repeat the test in Safe Mode, then with the second mouse.

Why: software fixes are proven by the log, not by feel. Safe Mode loads only the base HID driver and no vendor utility, so ghost clicks that persist there are not caused by third-party software; ghost clicks that follow the faulty mouse onto a second PC (or that disappear when the second mouse is attached) are inside the mouse itself — a worn microswitch that bounces on a single press.

How to check: compare the pair count with your baseline number.

Example: baseline 4 ghost pairs in 10 presses; after Step 2 the same run shows 0 pairs and gaps of roughly 900–1200 ms. If it still shows 4 pairs in Safe Mode, the switch is the cause: use the Switch primary and secondary buttons checkbox in main.cpl as a temporary workaround so the left button uses the less-worn right switch, then replace the switch or open a warranty claim. Part numbers and warranty terms differ per model — check the vendor documentation before ordering a replacement.

Troubleshooting

Problem. The mouse disappears from Device Manager and Windows shows a USB error.

  pnputil /scan-devices

If the code returns on every port, test the mouse on another PC — a Code 43 that follows the device is a hardware fault.

Problem. The click-probe script fails with a type error.

Problem. PowerShell refuses to run the saved script.

  Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  C:\temp\click-probe.ps1

Summary and next steps

You now have a measured baseline, a fixed software layer (driver, DoubleClickSpeed, USB power) and a documented decision about whether the switch itself is worn. If the ghost clicks survive both Safe Mode and a second mouse on the same port, treat the mouse as faulty — and if you end up rebuilding the system instead, follow How to Install Windows 11 26H2: Step-by-Step Guide with Official ISO so the driver stack is clean from the start.

FAQ

Why does my mouse double-click when I click once?

The most common cause is a worn microswitch that bounces on a single press, followed by a stale HID driver or an over-long DoubleClickSpeed window. Step 1 separates the two in under a minute.

Is a ghost click a virus or malware?

No. Ghost clicks are generated either by the mouse hardware or by the HID driver — no malware is needed to explain a 60 ms duplicate press. Only investigate malware if clicks happen with no one touching the mouse at all.

Does making the double-click speed faster fix the problem?

It hides the symptom rather than repairing the mouse: a shorter window makes Windows reject the spurious second press, so files stop opening twice, but the extra press is still being sent.

Will a Windows update fix it?

Only if the cause is the driver or USB power management. Check the release notes for your build before waiting for a patch — if the pair pattern follows the mouse to another PC, no update will change it.

Deep dive

🤖 AI summary