Install · shipped route · PID 0323

How to install the Magic Mouse 2024 (v3) Windows driver

Double-click Install.cmd. It registers Apple’s own unmodified signed driver as a lower filter, which restores two-finger scroll on Magic Mouse v1, v2, v2-alt and the 2024 model.

Install steps What the fix does

Do not enable Windows Test Mode for this install. Test Mode loads kernel drivers signed with a certificate Windows does not trust by default, and normally requires Secure Boot and memory integrity (HVCI) to be off. The Apple-driver route requires none of it: Apple’s binary is untouched and no catalog is installed, so no Test Mode is required for it and Secure Boot and memory integrity can stay on. The KMDF route is different — you build and self-sign that driver yourself, so it does require Test Mode with Secure Boot and memory integrity off.

Never disable driver signature enforcement on a machine you do not control, and never install a kernel driver you have not hash-checked.

Install steps

Turn Fast Startup off first: run powercfg /h off from an elevated prompt, then reboot. It is on by default; with it on the installer aborts before it copies the driver or registers the service, so nothing is half-installed and there is nothing to undo.

  1. 1

    Confirm your mouse

    Device Manager → Human Interface Devices → Apple Magic Mouse → Properties → Details → Hardware Ids. Covers PID_030D, PID_0269, PID_0310, PID_0323.

  2. 2

    Download and verify the driver

    Get the magic-mouse-v3-windows-fix repository. Its applewirelessmouse.sys is Apple’s own binary, byte for byte.

    Hash, version and signer to check

    SHA256 08F33D7E3ECE2C73950A9706F1C4C9057894EAEAF1C4FB355F261F3C2333378F, 78,424 bytes, file version 6.1.7700.0, Authenticode signature Valid, signer CN=Microsoft Windows Hardware Compatibility Publisher. Check it with Get-FileHash -Algorithm SHA256 applewirelessmouse.sys and Get-AuthenticodeSignature applewirelessmouse.sys.

  3. 3

    Double-click Install.cmd

    Run v1-binary-patch\Install.cmd. It asks for Administrator itself — no PowerShell window, no execution-policy change.

    What it changes, and why registration is the fix

    It copies Apple’s .sys into System32\drivers, creates the applewirelessmouse kernel service, adds applewirelessmouse to the device’s LowerFilters, and restarts the Bluetooth HID device. Nothing Apple shipped is modified — the fix is registration, the approach sbagirici proved on Magic Mouse v1 and v2. Apple’s Boot Camp installer cannot do it: it refuses to run on non-Apple hardware, and even with the file present Windows will not attach the filter until something registers it.

  4. 4

    Reboot, then swipe two fingers

    Scroll uses Apple’s own Mac-style translation, at fixed sensitivity.

    Scroll died again after re-pairing?

    The filter is registered against the device InstanceId, so unpairing and re-pairing breaks it: run Install.cmd again. Background: why Magic Mouse scroll stops working on Windows 11.

  5. 5

    Uninstall or roll back

    Run installer\Uninstall-MagicMousePatch.ps1 as administrator.

    What rollback restores

    It stops the applewirelessmouse service, restores the backed-up driver, removes applewirelessmouse from LowerFilters, deletes the service registry key, re-enables the device, and prompts for a reboot.

Advanced: the PowerShell installer

Install.cmd wraps installer\Install-MagicMousePatch.ps1. Run that as administrator with any of these switches:

PowerShell installer switches
SwitchEffect
-DriverPathUse a specific applewirelessmouse.sys instead of the bundled one.
-FromDriverStoreTake the driver from the Windows driver store.
-TargetPid <030D|0310|0269|0323>Register against a specific Magic Mouse model.
-DryRunReport what would happen and change nothing.

The installer identifies the binary it was handed from the Authenticode signature, and refuses one whose signature does not verify — patched but never re-signed, or a corrupted download. A legacy byte-patched and re-signed variant (SHA256 370A5555…, signed with this project’s own MagicMouseFix certificate) is no longer shipped and is documented only so an existing install can be identified. That variant does require Test Mode.

What can I install today?

There are two routes, and they are not equivalent. The Apple-driver route is a finished package you install. The KMDF route ships as source at 2.0.4.6 that has not been built or signed: you compile it yourself and sign it with a certificate you generate, so it is for people comfortable building a kernel driver. Never install both.

Apple-driver route

Ready

Registers Apple’s own signed driver as a lower filter. Package v1-binary-patch/, v1.0.0. Install this one. No Test Mode.

KMDF route

Build it yourself

Source only. v2-kmdf-driver/ holds the full C source, INF and build/sign scripts at 2.0.4.6, but no built or signed binary. You build it with the WDK and self-sign it, which requires Test Mode.

The KMDF route is source, not a package: v2-kmdf-driver/ carries the complete C source, MagicMouseDriver-kmdf-204-scroll.inf and the build/sign scripts at 2.0.4.6, but the project has not built or signed that version — the last binary it signed was 2.0.4.3. To use it you build it with the Windows WDK or Enterprise WDK, then run Setup-Community.cmd, which creates a local certificate, signs the package and installs it with pnputil. Because that signature is one you generate, the KMDF route does require Test Mode, with Secure Boot and memory integrity off — do not do that casually, and never combine the two routes. The Apple-driver route above is the one most people should install, and it needs no Test Mode.

KMDF development status

Device: Apple Magic Mouse 2024 (USB-C), Bluetooth VID 05AC, PID 0x0323 only. Source version 2.0.4.6, not yet built or signed by the project; 2.0.4.3 was the last version built, signed and installed on hardware. Build it with the WDK or Enterprise WDK, then Setup-Community.cmd creates a local certificate, signs the package and installs it with pnputil — see SIGN-AND-INSTALL.md and COMMUNITY-TESTING.md in that folder. The driver generates scroll from the touch surface (HID Wheel + AC Pan) with a tunable ScrollStep, and reads battery directly from HID Input 0x90 on COL02. Because the signature is self-generated, it requires Test Mode.

Supported Magic Mouse models

Underside of Magic Mouse 2024 (v3), USB-C port
Magic Mouse 2024 (v3)
0x0323
USB-C
Underside of Magic Mouse 2 (v2), Lightning port
Magic Mouse 2 (v2)
0x0269
Lightning
Underside of Magic Mouse 2 (v2-alt), Lightning port
Magic Mouse 2 (v2-alt)
0x0310
Apple Wireless Mouse
Underside of Magic Mouse (v1), AA battery door
Magic Mouse (v1)
0x030D
AA batteries