Last night, I hacked together a quick proof-of-concept video to show those who aren’t inclined to read the debug logs the multitouch capabilities of the G1.
Rather than go the proper route, where the multiple finger events would get pushed up from the touchscreen driver and into the java layer where the android applications live and play – another #android member (ionstorm, who also prompted me to look into multitouch in the first place) – suggested just reading the touchscreen event data from a file in the java layer as a quick way to skip over the hard work and demonstrate the possibility to people visually.
I will clean up and post all the necessary source code and instructions for someone to do this on their own phone so that more people can start playing with this later. For now, the brief rundown is that I modified the Synaptics touchscreen driver to have it create a character device at /dev/tsout that it dumps the touchscreen events to. I made /dev/tsout readable by the java layer, and then modified a fingerpaint example program that Google has posted to draw the circles. I have a thread in there that constantly polls that file, and when it sees data there it fires off an update event to the UI thread which scales the x and y position from the coordinate space of the touchscreen driver into the coordinate space of the android canvas and then draws a small circle there. I have it using a different color for the two fingers to make it easier to see.
The performance of this kind of polling is not that great. There are a few quirks to the multitouch aspect of the G1 – but the most important thing that I see is that even though it might not be a perfect multitouch screen capable of detecting millions of discrete touches – just being able to track 2 fingers should give me the only thing I really want… which is the ability to one day pinch to zoom in on the browser and get rid of those silly magnifying glasses.
Shameless plug Hey – if you want to hook a brother up, buy stuff from amazon and use this search box ![]()
Tags: Android, G1, hacking, multitouch, video



[...] can handle multi-touch Nov 22nd Update: I posted a video of a proof-of-concept implementation of multitouch on the g1 in a post today. The contents of this post are still valid – but it is easier to see proof in the [...]
Added this to the frontpage of my site. I hope you keep up the good work so more ppl get interested and start tweaking with it. Also seems you got on engadget with this. I hope that will be enough to spark some attention.
[...] Read | Permalink | Email this | Comments [...]
Hey, this has me really excited. I’ve been raving about the G1 from even before I had it, and the thing has yet to let me down. And this just takes it to a whole new level. Keep up the good work, and I cannot wait until I can try this on my phone.
Mobile Flash 10 and Multitouch anounced, and the Qualcomm 3d benchmark demo (somewhere between iphone and ps2 graphics if you haven’t seen it yet) all in one week. The last thing G1 haters have to hate on is a tiny free adapter…….Remember the iPhone Gen 1 earphone adapter that you had to buy from belkin for 15 dollars?
[...] Read | Permalink | Email this | Comments ENGADGET [...]
This is great stuff Brian. We’ve added this to our blog as we know how many G1 owners have been waiting for something like this to happen. Let us know when you release the code / guide that lets others figure out how to do this.
You may have just created a whole new G1 modding niche
[...] Read | Permalink | Email this | Comments [...]
[...] source via source Send to FacebookIf you’re new here, you may want to subscribe to my RSS feed. Thanks for visiting! Read More About: Home » Gadgets, Main [...]
[...] Read | Permalink | Email this | Comments [...]
[...] Read | Permalink | Email this | Comments Digg It or FB IT: [...]
[...] [Za: ryebrye.com] [...]
[...] was outed by RyeBry after digging through some code. This weekend, he’s updated his site with a proof of concept video that shows two finger touch being recongized on the G1. [...]
[...] Read | Permalink | Email this | Comments [...]
that’s dope.. can’t wait for the final result..
[...] Read | Permalink | Email this | Comments [...]
[...] [via RyeBlog] [...]
[...] RyeBlog] swfobject.embedSWF(“http://www.youtube.com/v/pSBYqmWVqeM&rel=1&fs=1″, “vvq4929c6c75e459″, [...]
[...] RyeBlog via IntoMobile Popularity: 1% Share this Gadget Post: [...]
[...] RyeBrye November 23, 2008 | jason | android, google, mobile | [...]
[...] done RyeBrye swfobject.embedSWF(“http://www.youtube.com/v/pSBYqmWVqeM&rel=1&fs=1″, “vvq4929de08d0f0d”, [...]
[...] More info at the developer RyeBrye’s blog. SHARETHIS.addEntry({ title: “Video: Multi-touch on the G1″, url: “http://www.mobilecrunch.com/2008/11/23/video-multi-touch-on-the-g1/” }); Previous Post Trackback URL [...]
[...] Read | Permalink | Email this | Comments More of G1 multi-touch a reality, integrated headphone jack still just a dream at here [...]
[...] More info at the developer RyeBrye’s blog. [...]
[...] on the Android based T-Mobile G1. He hacked the Synaptics touchscreen driver so that it would dump raw event info to a character device. The demo above is using example code from Google for a fingerpaint program. Polling the device is [...]
[...] développeur aurait réussi à faire fonctionner le multi-touch sur le G1 et en donne la preuve en vidéo [...]
[...] was outed by RyeBry after digging through some code. This weekend, he’s updated his site with a proof of concept video that shows two finger touch being recongized on the G1. [...]
[...] on a T-Mobile G1 Android phone, hacked last night by a sharp developer who goes by the handle RyeBrye. We haven’t seen any multitouch apps to date, so it’s nice to see the functionality [...]
[...] source via source Send to Facebook [...]
[...] on a T-Mobile G1 Android phone, hacked last night by a sharp developer who goes by the handle RyeBrye. We haven’t seen any multitouch apps to date, so it’s nice to see the functionality [...]
[...] Cette vidéo publiée par IntoMobile illustre la réalité de l’existence du multitouch sur un téléphone T-Mobile G1 Android modifié par un talentueux développeur qui répond au pseudo de RyeBrye. [...]
[...] Read | Permalink | Email this | Comments [...]
[...] [via RyeBrye.com] [...]
[...] Read [...]
[...] or impossible? It was previously discussed right here at Android Central, and once again, thanks to RyeBrye.com, there is now a proof-of-concept video. The video demonstrates that multitouch on the G1 and on the [...]
[...] по теме – G1 Multitouch Proof-of-Concept Video – RyeBlog, [...]
[...] Źródło: ryebrye.com [...]
[...] More info at the developer RyeBrye’s blog. [...]
[...] on the Android based T-Mobile G1. He hacked the Synaptics touchscreen driver so that it would dump raw event info to a character device. The demo above is using example code from Google for a fingerpaint program. Polling the device is [...]
[...] Vía | Rye Blog [...]
[...] [via RyeBrye.com] [...]
[...] RyeBrye (en inglés) lo hizo modificando el driver de la pantalla táctil y usó un programa de ejemplo para dibujar círculos que Google ha colgado en su web. RyBrye dice que colgará el código en breve una vez lo limpie un poco. [...]
[...] Read | Permalink | Email this | Comments You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed. [...]
[...] o semplicemente per lasciare un commento per l’ottimo lavoro sul sito di brian , qui potete trovare il post ufficiale! Tags: g1, multi [...]
Great!
[...] sparen können. Wer einwenig RyeBryes Blog durchstöbert findet nämlich sofort ein ziemlich beeindruckendes Video welche jede Bedenken gegenüber den Wahrheitsgehalt auf ein absolutes Minimum [...]
[...] capacidade não está presente no aparelho nativamente, mas o hacker Ryan Gardner já conseguiu provar que o T-Mobile G1, baseado no Google Android, é capaz de captar múltiplos toques em sua tela, [...]
Какие положительные результаты
[...] Multitouch. [...]
Hey Ryan,
Thanks for your work on this, it inspired me to look deeper into the multitouch problem on the G1, and I figured out a way to implement multitouch that doesn’t require modifying the kernel at all. In fact it turns out that the Synaptics driver already passes the multitouch events all the way up to the Java stack, and then they get dropped there. The code that you removed the comments from was just debug code, but if you read further down in the driver, you’ll see that events for both touchpoints are actually generated. I got multitouch working through the normal event system, without re-plumbing it or changing the API, by hacking multitouch events to work in a way that is backwards-compatible with single-touch applications. Video and full source are here:
http://lukehutch.wordpress.com/android-stuff/