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 implementation video for some people than it is to read log files.

So there has been a lot of speculation about if the G1 screen can handle multitouch or not. Most of the people claiming it can handle it have posted links to some crazy videos showing it doing some kind of thing inside of android – but that approach doesn’t hold much weight with me. If the driver doesn’t have multitouch, then obviously nothing in the OS can make use of multitouch…

I’d long since dismissed the possibility of the G1 having multitouch until ionstorm in #android posted some links confirming the G1 uses a synaptics touch screen and that synaptics likes to brag about the multi-touch on their screens.

Then unix_infidel pointed out that there was some stuff in the synaptics driver that was commented out… which – was true. (the file is located in drivers/input/touchscreen/synaptics_i2c_rmi.c of the msm kernel source – you can see the git info for the msm kernel online)

By uncommenting a bunch of lines in the synaptics touchscreen driver, and recompiling my kernel and replacing my boot.img – I was able to enable the debug logging of the touch input that tracks 2 fingers.

The following code is what is printing out the debug info that the linked log snippets show:

printk("x %4d, y %4d, z %3d, w %2d, F %d, 2nd: x %4d, y %4d, z %3d, w %2d, F %d, dx %4d, dy %4d\n",
x, y, z, w, finger,
x2, y2, z2, w2, finger2,
dx, dy);

Here’s some of the debugging output:
One finger swirling around
One finger held constant, the other finger swirled around
2 Fingers flicking left, then right
2 fingers rotating counter-clockwise (kind of… that motion is rather hard to do)
2 fingers (separate hands) – one finger moving up, while the other moves down
2 fingers – one held constant and varying pressure – another finger tapping at various points on the screen and also varying pressure

So… Here is the conclusion:
The G1 screen can definitely track 2 fingers. Why Android does not make use of this is an exercise for the reader to answer. (Patents is the most obvious answer. But I’m sure more interesting conspiracy theories can be concocted)

UPDATE: in #android – morrildl – who works for google but probably doesn’t officially speak in any capacity for Google brought up a few interesting points with regard to this:

  • HTC has specified that the G1 will have a single-touch screen. (This is significant, because their spec is for single touch for the G1, this means that they could in the future source touchscreens that are not multi-touch capable – so just because a certain run of G1s might have a multitouch capable screen, they have the liberty to swap out parts [and they may already have G1s out in the field that don't have a multi-touch capable screen])
  • The other issue is with how the driver reports the width of the touch. It appears that the “w” element is the same on both of the fingers (altough this might just be a quirk in the driver code that was commented out – since it does seem to be based on pressure and putting fingers on opposite corners and pressing lightly still shows a 1 for “w” – but placing 2 fingers close together and pressing hard will show a 15 for “w” – so I’m not entirely convinced of this)

It sounds like the road to multitouch on the G1 could now be a little more complicated. I’m not sure if HTC could ever revise the specs of the G1 without changing the model name… so even if the hardware is identical they might have to have a G1m or something? (who knows).

Tags: , ,

39 Responses to “Proving the G1 screen can handle multi-touch”

  1. Impressive work! I wonder if Microsoft is licensing Apple’s patents for Windows 7, or if there’s a way to work around this. Absurd that something so obvious is patentable.

  2. I had no doubt that android would support multi-touch.
    I suppose it is not tested enough to be published yet.

  3. Ha! You’ve done it now! Cool cool cool!

  4. Yeah, it is interesting. Does anyone know if Apple owns the patents or if Synaptics does?

  5. Your experiment has caused heated discussion in Russian Android Community.

  6. From Wikipedia about apple and its patent addiction:

    Apple is currently in the process of trying to patent its “Multi-touch” technology and to trademark the term “multi-touch”.

  7. Excellent work. You certainly have contributed wonderful and useful insights to the developer community. Thanks.

Trackbacks/Pingbacks

  1. G1 capable of multi-touch input? Looks like it.
  2. CrunchGear » Archive » G1 capable of multi-touch input? Looks like it.
  3. G1 Can Handle Multi-Touch Afterall? | AndroidGuys
  4. About | OpenMobileTips
  5. G1 Can Handle Multi-Touch Afterall? | The Androider
  6. Androidmanija » Blog Archive » T-Mobile G1 iš tikro supranta „multi-touch“?
  7. So The G1 CAN Do Multi-Touch… | G1 News
  8. The G1 is Capable of Multi-Touch ? | Android Central
  9. G1 screen can handle multi-touch | Mobility Site
  10. Le G1 est secrètement multitouch - Gizmodo - Tant d'amour pour ces fabuleux nouveaux gadgets, c'est surnaturel.
  11. G1 kann doch Multi-Touch? | Android Telefonie
  12. Android G1 can do it the Iphone multiTouch way
  13. Mini News (mise à jour le 18/11) | Bagheerha
  14. Seidimobile.com.br : » O Android é multitouch?
  15. buffawhat.com » Blog Archive » Multi-Touch and the Android G1
  16. The T-Mobile G1’s hardware supports multi-touch?!?!:
  17. G1 Multi-Touch Exists, Amputated | Android Phone Fans
  18. iModZone » Blog Archive » The G1’s Deepest, Darkest Secret: Hidden Multitouch
  19. G1 Multi-Touch Exists, Amputated | The Androider
  20. GURU TONIGHT BLOG » กูเกิลจงใจซ่อนความสามารถมัลติทัชใน T-Mobile G1
  21. Proving the G1 screen can handle multi-touch | android chatter
  22. android4us » Blog Archive » T-Mobile G1硬件支持多点触摸功能
  23. New Developments for the Android G1: Flash and Multitouch
  24. G1 ist multitouch fähig! - connect
  25. Video | topitechnews.com
  26. iAndroid - הפורטל הישראלי לפלטפורמת אנדרויד של גוגל » האם ה- T-Mobile G1 תומך ב- Multi-touch?
  27. iPhone 3G » Blog Archive » G1 capable of multi-touch input? Looks like it.
  28. Google Android
  29. Multi-Touch für das G1 existiert! Irgendwie... - Funktion, Möglichkeit, RyeBrye, Auskommentierung, Code, Source, Open, Dies - G1Blog.de | Das T-Mobile G1 Blog
  30. The G1 Has Hidden Talent… Multi Touch Capabilities | Android Trek
  31. Android G1 hardware DOES support multi-touch at Occipital
  32. The Air Source » Blog Archive » Androidinous Intentions

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>