"Multitouch" on FR ... imho should be possible to mimic

Yaroslav Halchenko site-openmoko.org at onerussian.com
Thu Mar 19 14:43:58 CET 2009


Hi All,

I've been cherishing the idea for a while but got no spare time to even
code a proof of concept. so I decided to share it with you so someone
could do that for the common advantage ;)

Indeed we can't register both touches -- as a result hardware returns
midpoint. BUT what if

 you touch screen with two fingers (at some inter-finger distance like
 half of screen width) not at the same time but within
lets say 100-200ms. Ie you "click" with one finger just slightly before
the other one.

 then driver reports 2 coordinates where there is a significant
 immediate jump from first coordinate to the midpoint between the two,
 which would be as much as 1/2 of distance between the fingers.

 such behavior would signal that 2 fingers are on the screen!

 then if you move 2nd finger somewhere, midpoint would move and that
 movement can be taken as a multitouch gesture, ie  if you are expanding
 2nd finger away from first one -- it is like 'zoom-out' or increase of
 smth. analogously, by comparing to the first coordinate (of 1st finger)
 rotations / horizontal zoomin/ vertical zooming etc could be derived
 
 multitouch gesture mode would stop when fingers leave the screen or
 there is once again a singificant jump from prev coordinate (like you
 raise one finger up prior to the other one)

alternative mode can be that after 'two finger' non-synchroneous touch
which switches to "multitouch mode" you drive your gesture with only
second finger (ie raise the first one off the screen) -- that would
allow for better control over the gesture since no averaging of
coordinates between two points would happen. And again, multitouch mode
is left whenever finger is raised of the screen.

if someone is to implement/test such approach, qwo might be a nice code
base to start from... alternatively I guess tslib for those with
debian+fbdev xserver.

-- 
                                  .-.
=------------------------------   /v\  ----------------------------=
Keep in touch                    // \\     (yoh@|www.)onerussian.com
Yaroslav Halchenko              /(   )\               ICQ#: 60653192
                   Linux User    ^^-^^    [175555]






More information about the community mailing list