I'm a huge fan of macOS, but I couldn't afford an expensive MacBook, so I chose an ASUS Zenbook one, and managed to get macOS running stable on it (Hackintosh). The only thing I don't like is trackpad, not because the hardware is bad, actually it's working very well in Windows, but because there were no official driver for macOS, so I have to use alexandred's VoodooI2C.
VoodooI2C uses CSGesture, a multitouch engine by CoolStar, to implement multitouch gestures. Because it's not an official engine so the gestures aren't very good. Therefore, the authors of VoodooI2C decided to make use of Apple's multitouch engine by simulating a Magic Trackpad 2. The simulator isn't completed yet, but it's still very promising.
To simulate Magic Trackpad 2, we need to understand Magic Trackpad 2's protocol and how macOS handles it. Reverse engineering is needed.
The simulator is here, currently most gestures work well
- Files to RE:
- /System/Library/Extensions/AppleTopCase.kext/Contents/PlugIns/AppleTopCaseHIDEventDriver.kext/Contents/MacOS/AppleTopCaseHIDEventDriver
- /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
- MT2 Report structure
- Logging data from MT2
- More coming...
- FingerMgmt: used for tracking fingers input by utilizing MultitouchSupport.framework
- VoodooI2C's Gitter: I think this is when the authors of VoodooI2C began to reverse engineer MT2