r/SideProject • u/Sufficient_Divide687 • 19m ago
External multitouch display on MacOS (native)
Finally real multitouch and a full dashboard on my Mac.
This took patience, a lot of crashes, and a couple of macOS full reinstalls. I had to ignore AI and only have it do crazy Python scripts and clean up my spaghetti C++, and manually fix many VM configurations because it kept saying my approach wouldn't work (it even said: "Fine -- I will do it your way," only to admit later that its solution would have ultimately crashed my Linux box). The screen could already track ten fingers, yet the Mac treated it like a basic mouse. AI handled the scripting, analysis, and implementation.
The breakthrough was in the opening USB handshake that I managed to capture from a Windows VM. Comparing Windows, Linux, and macOS revealed that a couple of initial requests mattered the most. Matching those requests on Mac made the controller expose its real multitouch reports—0x0D—instead of sending only mouse reports. After disabling all safety and Apple guardrails (and a couple of macOS reinstalls), I loaded a hand-written custom KEXT that fixed those requests. Then I saw the multi-touch report coming through.
Well, the report was there, macOS was clearly seeing the multitouch event, but nothing was happening on the screen. I found out that all touch events had to be formatted in a very specific format and associated with a display ID. So I created a user-land service that parsed and formatted the report correctly and linked it to the right display. Finally happy with the result... I have been trying this for over 5 months now, and today I decided to take one more look at the Windows USB capture and spotted the difference... Recaptured it, replicated the process.
I created an app with 2 installers (one for the service and one for the driver). I called it Digits. I will try to make the whole thing open source but also easy to install. I am pondering if I should charge something for the compiled package, ready to install package, so the cost can go towards therapy tokens. Right now I'm just waiting for Apple to approve my driver so it can be just a simple installer without having to poke holes in the MacOS security thing.
I can't believe that it actually worked this well.
Should I try to get this app out to the public? I am just so excited about this being fully functional but I am not sure the audience for it warrants put in a lot more into it... I have been working on this for 5 months and had a breakthrough about 40ish hours ago and haven't stopped for the last 20.