Enable multitouch on the G1

Computers & Mobile Technology

With a patch to both the Android kernel and browser, Luke Hutchison was able to add usable multitouch support to the T-Mobile G1. If you aren’t concerned about updating your firmware, this is a hack that you can use on your device today, despite this not being an official component of the device’s design.

I moved my original multi-touch code back into the kernel, because it turns out that currently it’s a lot easier to patch the kernel and get a working Android system than it is to patch the Android java stack and get a working system. (The Android java stack that made it into the G1 was branched and polished long before the source code was released publicly, and the source code in git usually doesn’t run without problems due to being in a state of flux.) You can find the kernel patch to the synaptics touchpad driver here. Many thanks to zinx for helping to polish the kernel patch and figure out the best way to get mutitouch info into userspace.

I also patched the Android browser to support multi-touch scaling, source/diffs are linked below. The patched version also includes support implemented by JesusFreke for autorotating web pages based on phone orientation (you turn the phone on its side without even sliding out the keyboard, and the web page you’re viewing rotates) — you have to manually enable this in the Preferences to get it working though.

As you might have noticed in the video above, Luke also created a demo Google Maps browser that uses the multitouch zoom gesture. The map only zooms in and out at the normal tile steps, which is a bit awkward compared to the fractional zoom on the iPhone, but I much prefer the gesture input to clicking plusses and minuses.

Get Multi-Touch Zooming Support on your T-Mobile G1

Discuss this article with the rest of the community on our Discord server!
Tagged

ADVERTISEMENT

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 16th iteration!

Prices Increase in....

Days
Hours
Minutes
Seconds
FEEDBACK