Battery % · report 0x90 · COL02

Magic Mouse battery percentage on Windows 11

This driver does not read battery. The free Magic Tray app does it in userspace: on the 2024 mouse it briefly removes applewirelessmouse from the mouse’s LowerFilters, which splits the HID path and exposes the COL02 collection, reads Input report 0x90 there, then restores the filter. Two-finger scroll is unavailable for the few seconds that takes.

Battery on Windows: full guide Install the scroll driver

Windows 11 system tray flyout with installed tray icons, including Magic Tray, the app that shows Magic Mouse battery percentage next to the clock Live screenshot

No driver you install reports battery to Windows itself. The Apple-driver route restores scroll only, and the KMDF route — which you build from source and self-sign — reads the percentage for Magic Tray rather than surfacing it in Windows. For the general story — which Apple devices report a percent, and what to do when none shows — see battery on Windows.

Which Magic Mouse has a characterised battery report?

Only the 2024 model. Magic Tray reads Input report 0x90 on collection COL02 of PID 0x0323. v1, v2 and v2-alt use a different HID descriptor structure, so that collection has not been mapped on them (issue 22); this site claims nothing either way. Scroll is supported on all four PIDs.

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

Why the scroll driver matters for a battery read

The charge arrives on a HID collection, and this mouse can lose its collections. When a Bluetooth idle disconnect collapses them — Mode A to Mode B — the collection carrying report 0x90 goes down with scroll, so the percent goes stale or stops. Keeping the shipped filter healthy protects both.

Scroll not working

The cause and its limits.

Install the driver

Steps and rollback.

HID research notes

Collection layout detail.

Common questions

Why does Windows 11 not show the level itself?

The paths Windows normally uses are not dependable for this mouse: Windows Settings and WMI are not reliable sources for Magic Mouse 2024 battery state. The number arrives in an Input report on a specific collection, so something has to listen on that collection and decode it. That is what Magic Tray does, in userspace.

Does the KMDF route show battery?

Not in Windows itself, but it changes how Magic Tray reads it. The KMDF driver exposes Input report 0x90 on COL02 directly, so Magic Tray reads the percentage without the brief LowerFilters change the Apple-driver route needs. That route ships as 2.0.4.6 source the project has not built or signed: you compile it with the WDK and sign it with a certificate you generate, which requires Windows Test Mode — not something to do casually.

Protocol detail: report 0x90, COL02, and what is not the source

The 2024 Magic Mouse (PID 0x0323) sends its charge state on HID Input report 0x90, on the collection referred to here as COL02. Magic Tray listens on that collection and decodes the report; it is not a kernel driver and does not modify the device.

Feature report 0x47 is not the battery source, despite looking like a plausible candidate in the descriptor — do not decode it as charge level. Windows Settings and WMI are not reliable battery sources for this mouse either. Full notes: HID research notes, including Input report 0x90.