Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

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


Related

Comments

  1. Anonymous says:

    G1 works on the same purpose and the same intention as CMS did. But it still works a quiet different. It’s a little complicated and some information about that vary from source to source. The exact routine is described here:
    http://geekroom.de/entwicklung/java/java-expertise-g1-fur-java-7/

    I have to mention, that G1 can be slower than CMS – in some of my measurings G1 took 10-20% more time in JDK 1.6 u22 on Windows and Mac.

  2. Anonymous says:

    G1 works on the same purpose and the same intention as CMS did. But it still works a quiet different. It’s a little complicated and some information about that vary from source to source. The exact routine is described here:
    http://geekroom.de/entwicklung/java/java-expertise-g1-fur-java-7/

    I have to mention, that G1 can be slower than CMS – in some of my measurings G1 took 10-20% more time in JDK 1.6 u22 on Windows and Mac.

  3. Anonymous says:

    G1 works on the same purpose and the same intention as CMS did. But it still works a quiet different. It’s a little complicated and some information about that vary from source to source. The exact routine is described here:
    http://geekroom.de/entwicklung/java/java-expertise-g1-fur-java-7/

    I have to mention, that G1 can be slower than CMS – in some of my measurings G1 took 10-20% more time in JDK 1.6 u22 on Windows and Mac.

  4. Anonymous says:

    G1 works on the same purpose and the same intention as CMS did. But it still works a quiet different. It’s a little complicated and some information about that vary from source to source. The exact routine is described here:
    http://geekroom.de/entwicklung/java/java-expertise-g1-fur-java-7/

    I have to mention, that G1 can be slower than CMS – in some of my measurings G1 took 10-20% more time in JDK 1.6 u22 on Windows and Mac.

In the Maker Shed