Free Windows 10/11 app for Apple Magic Mouse, Magic Keyboard, and Magic Trackpad. Battery percent in the system tray, plus the scroll driver your Magic Mouse actually needs. MIT licensed. No subscription. No trial that kills scroll.
Documentation and driver guide: the Magic Tray website — which driver do I need, how to tell your Magic device apart, why Magic Mouse 2024 is different.
Magic Tray is software you install on Windows. It is not a desk tray, stand, or cradle for Apple keyboards.
Magic Tray is a Windows tray app for Apple Magic Mouse — Magic Mouse v1 (AA batteries) PID 030D, Magic Mouse v2 (Lightning) PID 0269, and Magic Mouse v3 (2024, USB-C) PID 0323 — plus Magic Keyboard and Magic Trackpad. It shows battery percent in the tray and can install a scroll driver you confirm. The scroll drivers it points at are Windows 10 and Windows 11 drivers: Apple's own signed Boot Camp INF for v1 and v2, and the separate KMDF driver for the v3, which Boot Camp never covered. It is a free alternative to Magic Utilities — not a clone of MU’s proprietary drivers, gestures, trackpad suite, or key remaps.
Released 2 September 2026 · Download v1.1.0 · Website
If this saved you a paid subscription, star both repos: Magic Tray and the v3 Windows driver. Goal: a publicly signed KMDF so Test Mode goes away — stars & signing.
- Magic Tray vs Magic Utilities
- Just want a 2024 Magic Mouse driver?
- Features
- Tray menu (1.1.0)
- Supported mice
- Supported keyboards
- Supported trackpads
- Scroll
- Why Magic Mouse v3 scroll breaks on Windows
- Keyboard battery
- FAQ
- Building from source
- Diagnostics
- Releases
- License
- Which driver
- Why v3 is hard
- Stars & signing
- llms.txt (for agents)
| Magic Tray (free, MIT) | Magic Utilities (paid) | |
|---|---|---|
| Mouse battery in the tray | Yes (Bluetooth + USB HID when Windows exposes it) | Yes |
| Keyboard battery | Yes, after a one-time SDP patch you run | Yes |
| Trackpad battery | Yes. No scroll/gesture driver. | Yes, plus a paid trackpad suite |
| Time-based battery alerts | Yes. Floor 10 → 5 → 1. See docs/ALERTS.md. | Customizable percent alerts |
| Scroll driver (mice) | Yes, user-initiated | Yes, proprietary (mouse + trackpad) |
| Driver signature | v1/v2: catalog-signed Boot Camp. v3 KMDF / Patched Apple are self-signed (Test Mode + Memory Integrity off). Not WHQL. | WHQL; works with Secure Boot |
| Gestures, trackpad tap / 3-finger, media-key remaps | Not shipped | Yes |
| Subscription / trial that disables scroll | Never | Required after trial |
If you need MU’s gesture or trackpad suite, use Magic Utilities. If you need battery + mouse scroll on Windows without a subscription, use Magic Tray.
- Download
MagicMouseTray.exefrom Releases. - Run it. No installer. The tray does not need admin.
- The icon shows battery percent once a supported device is paired.
Requires: Windows 10 1809+ (build 17763) or Windows 11, x64.
The same Release attaches the keyboard battery patch (Install-KeyboardBattery.cmd + kbd-patch-cachedservices.ps1). You only need those if you want keyboard battery. Pass -Mac. There is no default MAC.
Windows may show SmartScreen on the first run (unsigned open-source exe). More info → Run anyway, or right-click → Properties → Unblock.
You have the Magic Mouse v3 (2024, USB-C) — Apple sells it as just "Magic Mouse", and this project calls it v3 to keep it apart from the older models. Windows moves the pointer, but the wheel does nothing. That is normal on both Windows 10 and Windows 11 — neither ships a scroll driver for this mouse.
What works right now
Download Magic Tray from Releases and run it. Battery percent appears as soon as the mouse is paired — no driver, no reboot, no admin. If the wheel is still dead, that is expected: the wheel needs a driver.
What the wheel needs, honestly
Scroll on this mouse needs our own KMDF driver, and that driver is not Microsoft-signed (not WHQL). Windows will only load it if you put the PC into Test Mode and turn Memory integrity off — a real security trade-off, plus a permanent desktop watermark. Getting it properly signed so none of that is needed is tracked in #89.
KMDF is still experimental and you cannot install it from the tray yet. The driver lives in magic-mouse-v3-windows-fix, and the piece Magic Tray needs in order to install it has not reached that repository’s main branch — it is still an open pull request (#5). Until it lands, choosing KMDF in the tray tells you it is unavailable and stops. It will not quietly install something else instead.
So: battery today, scroll when the driver lands. Two different things have to happen. The tray can only offer KMDF once the installer entrypoint reaches the driver repo’s main branch — that is magic-mouse-v3-windows-fix#5, and it is what to watch for scroll becoming available at all. Getting rid of Test Mode needs the driver properly signed, which is a separate job tracked in #89.
The three driver choices for this mouse
- KMDF — the recommended one. Scroll and battery together. Self-signed, so it needs Test Mode. Not installable from the tray yet, as above.
- Patched Apple — an old experiment, kept only for the record. Scroll or battery, never both at the same time. Also self-signed, so also needs Test Mode. Do not pick this unless you specifically want the experiment.
- Stock Windows — Windows’ own Bluetooth mouse driver. Pointer only: no scroll. Battery percent usually still reads. No Test Mode, and it removes our driver.
Side-by-side: what to pick.
Older Magic Mouse (Lightning or AA batteries): none of the above applies to you. Pick Boot Camp in the tray. It is signed by Apple, so there is no Test Mode and no watermark.
- Battery percent on the tray for Magic mice, keyboards, and trackpads
- Alerts: docs/ALERTS.md (10 → 5 → 1, plus time warnings)
- Persistent 0–1% warning (replace AA, or plug in USB-C / Lightning)
- Start with Windows
- User-initiated scroll-driver install for mice (older mice: Boot Camp; 2024 USB-C: KMDF). Trackpads do not get a scroll driver.
- User-initiated keyboard SDP patch
- Bluetooth menu opens Windows Bluetooth Settings
- Optional Logitech rows (off by default)
- Single self-contained
MagicMouseTray.exe
Battery reads appears only when a Magic Mouse v3 (2024, USB-C) is connected and the bound driver is KMDF. Hidden otherwise.
Magic Tray does not install a driver until you pick one and confirm UAC. It never swaps drivers behind your back.
Right-click the tray icon.
| Item | What it does |
|---|---|
| N devices | Each Magic device: battery %, driver badge, enable, per-device alert |
| Bluetooth | Opens Windows Bluetooth Settings |
| Low battery threshold | 10% / 5% / 1% (default 10%) |
| Start with Windows | Auto-start on login |
| Show Logitech devices [Off] | Experimental. Off by default. |
| Battery reads | Status only. Visible on 2024 / v3 + KMDF. |
| Refresh Now | Immediate battery read |
| Diagnostics | Logs, test notification, capture scripts |
| Help/Documentation | Alerts doc, this repo, report a bug (pre-filled diagnostics), request a feature |
| Quit | Exit |
Footer: Magic Tray 1.1.0.
All three mice below are covered on Windows 10 (1809+) and Windows 11. Catalog: KnownMice (CI: EveryKnownMousePid_HasUsbVid05acRow). Reports: docs/TESTED.md. PID missing? Open an issue.
| Model | PID | Recommended driver | Scroll | Battery | Tested |
|---|---|---|---|---|---|
| Magic Mouse v3 (2024, USB-C) | 0x0323 |
KMDF | Yes, with Test Mode | Yes | yes — KMDF |
| Magic Mouse v1 (AA batteries) | 0x030D |
Boot Camp | Yes | Yes | row |
| Magic Mouse v2 (Lightning) | 0x0269 |
Boot Camp | Yes | Yes | — |
| Apple Wireless Mouse (AA batteries) | 0x0310 |
Boot Camp | Yes | Yes | — |
| Choice in the tray | Wheel | Battery | Test Mode | Who it is for |
|---|---|---|---|---|
| KMDF | Yes | Yes | Required | Almost everyone. Recommended, but not installable from the tray yet. |
| Patched Apple | Yes, but only in its scroll mode | Yes, but only in its battery mode | Required | Old experiment. Wheel and battery are mutually exclusive — one or the other, never both. Do not pick this. |
| Stock Windows | No | Often yes | Not needed | Pointer only. Hands the mouse back to Windows and removes our driver. |
Catalog: KnownKeyboards (CI: EveryKeyboardPid_HasUsbVid05acRow). Bluetooth battery needs the SDP patch. USB HID battery is read when Windows exposes VID_05AC + the same PID.
| Model | PID | Driver | Scroll | Battery | Tested |
|---|---|---|---|---|---|
| Apple Wireless Keyboard (2011, A1314) ANSI / ISO / JIS | 0x0239 / 0x023A / 0x023B (0x0255 / 0x0256 / 0x0257) |
SDP patch (not a kernel driver) | n/a | Yes after patch | yes — 0x0239 |
| Magic Keyboard (A1644) / ISO | 0x024F / 0x0250 |
SDP patch | n/a | Yes after patch | Not hardware-tested here |
| Magic Keyboard with Touch ID (A2449) / ISO | 0x0267 / 0x026C |
SDP patch | n/a | Yes after patch | Not hardware-tested here |
| Magic Keyboard (2021) / Touch ID / Numeric Keypad | 0x029C / 0x029A / 0x029F |
SDP patch | n/a | Yes after patch | Not hardware-tested here |
| Magic Keyboard (2024, USB-C) / Touch ID / Numeric Keypad | 0x0320 / 0x0321 / 0x0322 |
SDP patch | n/a | Yes after patch | Not hardware-tested here |
Battery only: percent, enable, threshold, time alerts. No KMDF / Boot Camp radios. No Magic Utilities trackpad gestures.
| Model | PID | Driver | Scroll | Battery | Tested |
|---|---|---|---|---|---|
| Magic Trackpad (AA batteries) | 0x030E |
None | n/a | Yes (AA) | — |
| Magic Trackpad 2 (Lightning) | 0x0265 |
None | n/a | Yes (Lightning) | — |
| Magic Trackpad (2024, USB-C) | 0x0324 |
None | n/a | Yes (USB-C) | — |
Hardware reports: docs/TESTED.md. Missing PID: open an issue.
Scroll needs an Apple mouse filter driver installed and bound on Windows 10 or Windows 11. The tray offers the install after you confirm. Which driver depends on the PID: v1, v2 and the Apple Wireless Mouse take Apple's signed Boot Camp INF, and only the Magic Mouse v3 (2024, USB-C) needs the KMDF driver.
Install the Boot Camp INF from tealtadpole/MagicMouse2DriversWin11x64 (Apple Wireless Mouse folder). Right-click the .inf → Install, or use the tray. Catalog-signed. Test Mode is not required.
The tealtadpole Boot Camp INF does not cover PID 0323. Scroll on this mouse needs the separate KMDF driver from LesleyMurfin/magic-mouse-v3-windows-fix, which is self-signed and therefore needs Test Mode.
Availability. The tray’s KMDF install step does not work yet. The installer entrypoint it looks for is still an open pull request on the driver repo (#5) and is not on that repo’s main branch. Pick KMDF today and the tray reports exactly that, then stops — it never installs a different driver instead, and it never rebinds your mouse silently.
When that entrypoint does land, the tray will take a snapshot of the driver repo’s main branch and run the installer after you confirm UAC. That snapshot is the current branch tip rather than a pinned, checksum-verified release, which is a further reason KMDF is labelled experimental. Signing the driver properly — which would also retire Test Mode — is tracked in #89.
Stock Windows hands the mouse back to Windows’ own Bluetooth HID driver. The pointer keeps working, the wheel does not, and no Test Mode is needed. Battery percent usually still reads, but Magic Tray’s dedicated Battery reads path needs KMDF.
Patched Apple is a leftover binary patch of Apple’s old filter driver. It is self-signed too, so it needs the same Test Mode setup as KMDF, and on it scroll and battery are mutually exclusive — you get one or the other, never both. The tray never swaps between these choices on its own: if the driver you picked is missing, it says so and stops.
If the wheel still does nothing after a KMDF install succeeds: Bluetooth settings → remove the mouse → pair it again. Windows sometimes keeps the old binding.
Both 0323 driver choices — KMDF and Patched Apple — are self-signed, not WHQL. Windows will not load either of them until Test Mode is on and Memory integrity is off. The “Test Mode” desktop watermark is expected. Magic Utilities’ paid drivers are WHQL and skip all of this; ours cannot yet (#89).
You do not need the F7 “Disable driver signature enforcement” boot.
Read this before you change anything. These are real, machine-wide trade-offs:
- Secure Boot blocks Test Mode. With Secure Boot on,
bcdedit /set testsigning onis refused. Turning Secure Boot off in firmware is the only way round it, and some games with anti-cheat and some dual-boot setups stop working afterwards. - BitLocker. Changing boot settings can trigger a BitLocker recovery prompt on the next start. Suspend BitLocker first (Control Panel → BitLocker Drive Encryption → Suspend protection) and have your recovery key to hand.
- Memory integrity off lowers your security for as long as it stays off, not just while you install.
Do this before you pick KMDF or Patched Apple:
- Suspend BitLocker and note your recovery key.
- Elevated Command Prompt:
bcdedit /set testsigning on - Windows Security → Device security → Core isolation → Memory integrity = Off
- Reboot. The “Test Mode” desktop watermark is expected.
- Now pick the driver in the tray and confirm UAC.
Putting the PC back to normal. First switch the mouse to Stock Windows (or otherwise remove the self-signed driver) — turning Test Mode off while a self-signed 0323 driver is still bound just kills scroll, because Windows refuses to load it. Then:
- Elevated Command Prompt:
bcdedit /set testsigning off - Windows Security → Device security → Core isolation → Memory integrity = On
- Re-enable Secure Boot in firmware if you turned it off.
- Reboot so all of that takes effect, then resume BitLocker protection if it is still suspended.
v1/v2 Boot Camp installs skip this section entirely: that INF is catalog-signed by Apple and needs no Test Mode.
The Magic Mouse v3 (2024, USB-C, PID 0323) is not in Apple’s old Boot Camp INF. On Windows the HID stack can collapse collections (often called Mode A vs Mode B): scroll and battery fight over the same device. Stock Windows often has battery and no scroll; a patched Apple filter can restore scroll and drop battery.
Research and the KMDF fix live in a separate repo (this tray repo does not vendor kernel sources):
- LesleyMurfin/magic-mouse-v3-windows-fix — the KMDF driver and the patched Apple path
- HID research (RID 0x90, collections, DSM)
- Bug analysis (Mode A/B)
- Mode A/B diagram
Magic Tray’s recommended path is KMDF from that repo: scroll and battery (Input 0x90 on COL02), once its installer entrypoint reaches main.
Apple wireless keyboards declare battery as Input-only, so Windows cannot poll it. A one-time registry patch of the Bluetooth SDP cache (HKLM\...\BTHPORT\Parameters\Devices\<MAC>) exposes battery as a Feature report. No kernel driver.
You must pass the keyboard MAC. kbd-patch-cachedservices.ps1 requires -Mac (12 hex digits, colons optional).
Find it in Device Manager → Bluetooth → keyboard → Details → Bluetooth device address, or from the tray when it offers the patch.
From a Release: keep Install-KeyboardBattery.cmd and kbd-patch-cachedservices.ps1 in the same folder, then elevated:
Install-KeyboardBattery.cmd -Mac aabbccddeeffToggle Bluetooth off/on so Windows re-reads the cache.
From source:
.\scripts\kbd-patch-cachedservices.ps1 -Mac aabbccddeeffRe-pairing the keyboard erases the patch. Until it is applied, the tray shows that the keyboard needs the SDP-cache patch.
Does the Magic Mouse v3 (2024, USB-C) work on Windows 10 and Windows 11?
Battery, yes — Magic Tray 1.1.0 shows the percent with no driver at all. Scroll needs the KMDF driver from magic-mouse-v3-windows-fix, which is self-signed and so needs Test Mode with Memory integrity off — and its tray install step is not available yet. Battery is HID Input 0x90 on COL02.
Is this Magic Utilities?
No. Free MIT. No subscription. No MU binaries. No gesture / trackpad / media-key suite.
Will scroll stop when a trial expires?
No. There is no trial.
Do trackpads get scroll or tap-to-click?
No. Battery and alerts only.
Requires the .NET 8 SDK (Windows).
dotnet publish -c Release
# Output: bin\Release\net8.0-windows10.0.17763.0\win-x64\publish\MagicMouseTray.exeThe exe filename stays MagicMouseTray.exe. The product name is Magic Tray.
KMDF sources live in magic-mouse-v3-windows-fix (v2-kmdf-driver/). This repo does not vendor that driver.
Log file: %APPDATA%\MagicMouseTray\debug.log
| Line | Meaning |
|---|---|
OK battery=83% |
Successful read |
OPEN_FAILED err=5 |
COL01 skipped (Windows holds that handle) |
DRIVER_CHECK status=... |
Per-device driver health |
TOAST_SENT |
Low-battery notification |
CRITICAL_ALERT_SHOWN |
1% persistent window |
CI builds on a v* tag: test, publish win-x64, optional Authenticode (SIGN_PFX_*), then attach MagicMouseTray.exe, kbd-patch-cachedservices.ps1, Install-KeyboardBattery.cmd, capture-state.ps1, diagnose-driver.ps1, mm-bt-stack-snapshot.ps1, and SHA256SUMS. scripts/verify-release.ps1 must pass before the GitHub Release is created.
FileVersion / AssemblyVersion are 1.1.0.0.
The LowerFilter sandwich (app → Windows HID → filter → Bluetooth → mouse) is from sbagirici/apple-magic-mouse-scroll-fix-windows. That Architecture diagram is why the v1/v2 scroll path is understandable. Please star their repo. We redraw it on v3.html. Their installer is for v1/v2 with Apple’s signed applewirelessmouse.sys. Magic Mouse 2024 (0323) still uses KMDF from magic-mouse-v3-windows-fix.
v1/v2 Boot Camp INF packaging: tealtadpole/MagicMouse2DriversWin11x64.
MIT · Copyright (c) 2026 Lesley Murfin.

