gitmyhub

mac-precision-touchpad

C ★ 10k updated 2y ago

Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad

A Windows driver that makes Apple trackpads work with full gesture support on Windows 10, covering MacBooks from 2011 onward and Apple Magic Trackpad 2 and 3.

CWindows Driver Kitsetup: easycomplexity 2/5

This project is a Windows device driver that makes Apple trackpads work properly on Windows 10 when you run Windows on a MacBook or connect an Apple Magic Trackpad. Without a dedicated driver, Windows can detect the trackpad as a basic mouse, but loses all the gesture support and precision tracking that makes Apple trackpads feel good to use. This driver implements Microsoft's Windows Precision Touchpad protocol, which gives the trackpad full gesture support within Windows.

The driver covers a wide range of Apple hardware: MacBooks going back to 2011, MacBook Pros across many model years including Retina display generations, MacBook Air models, and Magic Trackpad 2 and 3 (both USB and Bluetooth connections). The T2 chip-based MacBooks from 2017 onward are supported with a fallback mode, though the experience may not be optimal on every model.

Installation is straightforward: download the release package from GitHub, right-click the .inf file, and select install. No need to enable test signing or manually install certificates. The driver is also available as a Chocolatey package for those who prefer a package manager. Uninstallation goes through Windows Device Manager.

One practical note: starting in early 2021, Microsoft changed driver code signing requirements, so automatic CI builds are no longer auto-signed with the standard certificate. For production use, the author releases manually signed packages on the release page, which are the ones recommended for normal users.

The driver is split into two components with different licenses: the SPI driver (used for newer MacBooks) is MIT-licensed, while the USB driver is GPLv2. Bug reports go to GitHub Issues; feature tracking is on a separate Azure DevOps board.

Where it fits