A Windows 11 installer, diagnostics, and lifecycle-management layer for Apple Magic Trackpad, built around the Microsoft-signed MagicTrackpad2ForWindows Precision Touchpad driver.
This project does not rewrite or re-sign the upstream driver. It focuses on safe installation, exact Driver Store identification, privacy-aware diagnostics, and predictable uninstall/reinstall behavior for ordinary Windows users.
Development status
Current source version:
v0.1.0.Current public prerelease:
v0.1.0-dev.6.0.Final Setup SHA256 inside the published binary ZIP:
f6e7155beca5d863b8d70022c5ac9d7a38daa21880b572a25b0bff9c54661791.Previous frozen validated binary baseline:
v0.1.0-dev.5.4.2.Frozen stable-release candidate:
v0.1.0-rc.2. rc.2 Setup SHA256:e5e7f4d379e096b3513ed8118c1cf09f29152f24c7ac4282b53678aa4d687d40. rc.2 source commit:b54ac7311b1a6e0736e91c2cac248fffcc485e04. rc.2 source tree:4f8ba3444993c601e41bf71c4f82e78629711d6c. Validation evidence:docs/RC2_FINAL_VALIDATION.md.
v0.1.0-dev.6.0completed the controlled release regression and is now frozen. The outerSetup.exeremains unsigned; the embedded upstream driver payload remains the original Microsoft-signed payload. Currentv0.1.0source is the final stable-release source; thev0.1.0public stable binary has not yet been published.
The screenshots below were refreshed from the dev.6.0 prerelease candidate UI.
| Installation information | Destination folder |
|---|---|
![]() |
![]() |
Connected-device fail-closed guard:
The installer automatically uses Simplified Chinese on a Simplified Chinese Windows UI. Unsupported Windows UI languages fall back to English.
The upstream driver already provides the actual Precision Touchpad support. This repository adds the surrounding Windows product lifecycle:
- a Windows 11-style bilingual installer;
- exact Driver Store detection instead of generic "Apple" driver searches;
- idempotent install behavior when the expected driver is already current;
- fixed upstream release/hash/signature verification before packaging;
- a small C++ helper for device and driver state;
- Bluetooth
remembered / paired / connectedstate detection; - privacy-minimized diagnostic reports;
- Start-menu shortcuts for the control panel, Windows Touchpad Settings, diagnostics, logs, and uninstall;
- safe application-only uninstall that keeps the driver;
- optional driver removal with export-before-delete, backup verification, no
/force, and post-removal verification; - a connected-device guard that blocks destructive driver removal while the trackpad is in use.
The table below describes what this wrapper project has actually validated. It is intentionally narrower than the upstream driver's possible support.
| Area | Project-validated baseline |
|---|---|
| Operating system | Windows 11 x64 |
| Hardware | Apple USB-C Magic Trackpad A3120 |
| USB | Validated |
| Bluetooth | Validated |
| Windows Precision Touchpad | Validated |
| Battery reporting | Validated |
| Haptic feedback | Validated |
| Native Windows two/three/four-finger gestures | Validated |
| ARM64 wrapper/install lifecycle | Not yet validated |
| Windows 10 wrapper/install lifecycle | Not supported by the current v0.1.0 line; v0.1.0-rc.1 failed A3120 validation on Windows 10 x64 build 19044 |
Windows 10 x64 build 19044 was tested with v0.1.0-rc.1. Windows selected the
pinned Microsoft-signed A3120 MI_01 driver, but its UMDF function-driver path
could not be configured. The current v0.1.0 line therefore remains Windows 11 x64 only.
The pinned upstream package contains other architecture support, and upstream may support additional configurations. Do not treat that as project-level validation until this wrapper has been exercised on the corresponding real hardware/system.
The current public binary prerelease is v0.1.0-dev.6.0. Use the controlled
binary ZIP from the GitHub Release rather than publishing or redistributing a
standalone raw Setup executable.
v0.1.0-dev.6.0 is now a frozen published release identity and must never be
rebuilt or reissued from post-tag source. v0.1.0-dev.5.4.2 remains the previous
frozen validated binary baseline. v0.1.0-rc.2 is the frozen, fully validated stable-release
candidate; see RC2 final validation. Current source v0.1.0 is the final stable-release source and still requires the one-time controlled final build/publication.
The normal user flow is:
- Run
MagicTrackpad-for-Windows-Setup-<version>-x64.exe. - Review the installation information.
- Choose the installation folder.
- Click Install.
- Pair/connect the Magic Trackpad normally through Windows.
- Configure gestures in Windows Touchpad Settings.
If the exact expected driver is already installed and current, Setup uses a NO-OP Driver Store path instead of adding a duplicate package.
The interactive uninstaller offers two choices.
This is the default/recommended choice.
It removes the installed application, tools, documentation, and shortcuts while leaving the Magic Trackpad driver installed.
Silent uninstall is deliberately non-destructive and also keeps the driver.
The safe-removal path:
- identifies exactly one matching driver package;
- validates Original INF, provider, and driver version;
- checks the Magic Trackpad device state;
- exports the exact package to a timestamped backup;
- verifies the expected INF/CAT/DLL/SYS files exist in that backup;
- invokes PnPUtil removal without
/force; - re-checks Driver Store state and requires
not-installed.
If a Magic Trackpad is currently connected, driver removal is blocked before backup/deletion. The user can disconnect the device and retry, or continue removing only the application while keeping the driver.
The uninstaller does not search for or delete unrelated Apple, iPhone, Apple Mobile Device, or Boot Camp drivers.
Several rules are treated as product contracts rather than best-effort behavior:
- published
oemN.infnames are discovered dynamically and never hard-coded; - only the exact expected package is eligible for install/removal;
- a newer driver is not silently downgraded;
- ambiguous/multiple matching packages fail closed for manual review;
- the upstream signed payload is deployed byte-for-byte;
- real removal requires a successful backup first;
/forceis forbidden in the normal removal path;- connected devices block destructive removal;
- post-removal verification must report
not-installed; - the A3120
MI_00interface is not automatically modified as a workaround; - Bluetooth pairing and Windows gesture preferences are not silently changed.
Detailed evidence is linked from docs/README.md.
The Start menu includes Generate Diagnostic Report.
Diagnostics-*.txt is privacy-minimized by default:
- computer/user names are redacted;
- Bluetooth addresses are redacted;
- machine-specific PnP instance tails are redacted;
- useful stable hardware/driver state is retained.
Raw technical logs such as Install-*.log, DriverRemoval-*.log, and
UninstallDecision-*.log can include local machine information. Review/redact
them before posting publicly.
See Runtime Log Sharing Policy.
- Visual Studio Community 2026 / MSVC x64
- Windows SDK 10.0.26100
- CMake 4.3.1 (project minimum: 3.25)
- Inno Setup 6.7.0
- PowerShell 7 for development scripts
- Windows PowerShell 5.1 compatibility for installed runtime scripts
From the repository root:
.\scripts\Build.ps1Current pinned upstream release:
- project:
vitoplantamura/MagicTrackpad2ForWindows - release:
v2.0 - asset:
MT2FW11-20260223-MSSigned.zip - SHA256:
2870c0c7982ce6aafc3ff763fec2999423dc4bdbd1a2c0e31ca216f26a75714f
.\scripts\Prepare-DriverPayload.ps1 `
-SourceZip "C:\path\to\MT2FW11-20260223-MSSigned.zip"
.\scripts\Verify-DriverPayload.ps1The staged binary payload lives under:
third_party\MagicTrackpad2ForWindows-v2.0\
and is intentionally excluded from Git.
The frozen v0.1.0-dev.5.4.2 installer must not be rebuilt from post-tag source.
Its validated Setup SHA256 is:
afbe531a5e117820c8643b776b74b82002db27d223366cf07fb390c818aeca04
The current source is 0.1.0, with VERSION and #define MyAppVersion in
installer/setup.iss synchronized. From a clean committed source state, build
the final controlled release bundle with:
.\scripts\Build-ReleaseBundle.ps1Output:
out\release\MagicTrackpad-for-Windows-0.1.0\
Build-Installer.ps1 fails closed for the frozen 0.1.0-dev.5.4.2,
0.1.0-dev.6.0, and 0.1.0-rc.1 identities. Frozen 0.1.0-rc.2 is also rejected; current 0.1.0 is buildable
only when VERSION and the Inno version match. Payload, installer, uninstall,
and license-distribution gates are re-run before compiling.
Build-ReleaseBundle.ps1 invokes Build-Installer.ps1 internally for the release identity.
Do not pre-build another final Setup before running the controlled release-bundle build.
If the bundle run fails after Setup has already been produced, preserve those exact bytes
and use the exact-SHA resume procedure in Release Compliance;
never delete the Setup merely to rebuild the same version.
For publishable release assets, use the controlled release compliance process rather than uploading the raw Setup executable directly.
helper/ C++ device/Driver Store helper
installer/ Inno Setup installer resources
scripts/ build, validation, diagnostics, and safe lifecycle scripts
third_party/ metadata/staging instructions for the pinned upstream payload
docs/ contracts, validation evidence, OSS notes, and history
Start with docs/README.md for technical documentation.
Historical raw patch notes are preserved under
docs/history/patch-notes/; they are evidence, not the current product contract.
This wrapper depends on and redistributes an unmodified build from:
- vitoplantamura/MagicTrackpad2ForWindows
- pinned release:
v2.0
Upstream describes the driver as a Microsoft-signed Windows 11 Precision Touchpad driver with USB-C, Bluetooth, battery-level, haptic-feedback, and control-panel support.
The upstream project is itself a fork/continuation of work from imbushuo/mac-precision-touchpad.
Do not attribute the upstream driver implementation or signing work to this wrapper project.
Project-authored wrapper code and original documentation are licensed under the
MIT License (SPDX: MIT):
The pinned vitoplantamura/MagicTrackpad2ForWindows driver/control-panel payload
is third-party software under its upstream GPLv2 terms and is not
relicensed under MIT by this project.
Redistribution material is kept separate and explicit:
- Third-party notices
- GNU GPL version 2 text
- Upstream source/build provenance
- Release compliance process
Public binary releases use a controlled binary bundle containing the MIT/GPL/third-party/provenance material. The exact upstream corresponding-source archive and build-workflow snapshot are published alongside that binary bundle.
v0.1.0-dev.6.0 is the first public binary prerelease produced by this process.
Its final release directory, corresponding source, workflow snapshot, provenance,
and SHA256 material were verified together before publication.
Contributor/reporting workflows are now documented:
GitHub Issue forms and a pull-request template are included under .github/.
A non-destructive GitHub Actions CI workflow is defined under
.github/workflows/ci.yml. It runs repository/license/contributor contracts,
Windows PowerShell 5.1 compatibility checks, static installer safety checks, and
a C++ helper build. The workflow has completed successfully on GitHub-hosted
Windows runners; local reproduction remains part of maintainer validation.
Magic Trackpad for Windows is an independent community project. It is not affiliated with or endorsed by Apple Inc. or Microsoft Corporation.


