"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