Touchscreen filters in andy-tracking...

Andy Green andy at
Thu Jan 29 18:03:53 CET 2009

Hash: SHA1

Somebody in the thread at some point said:

| Oh, you made it! :)
| Finally I can write like before and no chars are missed (I hope, better
| - with less touch screen errors :P).

Good news, well done Nelson.

| Just another thing... I've read somewhere that in this implementation
| you don't consider the finger pressure, is this true (i.e. have I
| understood correctly)?
| Couldn't it be used for improving the precision (always thinking to the
| writing action, when you use your thumbstone, generally you cover a
| quite large area of the touchscreen, but the power is concentrated on a
| smaller area [that isn't always the center of the covered area])...

The information that's available from the touchpanel itself basically
delivers one "number" for X and Y, it's an average of the pressed
region.  By doing some cunning tricks (and you can't do these tricks in
userspace :-) ) you can get an idea of the size of the contact area, and
I spent some days on this last summer trying to get an "Area" number out
of the panel.

It worked to the extent you could tell between a stylus, fingernail,
fingertip, a fingertip pressed down harder, and a thumb to good
resolution actually -- if you "rolled" your fingertip so more finger
came down it could tell you about it in realtime with several bits of

But I was unable to normalize the results across the panel surface in a
reasonable way, for example the same fingertip might be woth +5 "area"
in the centre of the display and +28 at the bottom of the display.  It
was consistent but nonlinear according to X and Y, I guess I failed to
get the computation needed correct.

I gave Nelson the patch and a pointer to a PDF from TI that explained
the trick and computation needed, but even if we got it working I'm not
sure how much we can exploit the extra info.

- -Andy
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora -


More information about the openmoko-kernel mailing list