inwheel version 1, and new algorithm idea

Werner Almesberger werner at
Sun May 6 03:28:15 CEST 2007

Here's a new version to play with:


- much more accurate. As it turns out, version 0 had an y error
  of about 50 pixels. No surprise I got nothing right ;-) I also
  added button debouncing, so a light touch is enough.

- includes a BitBake receipe, thanks to Matthias Hentges

- includes a partial Quickwriting map, suggested by Don Walker

Input is now pretty reliable. With debug enabled (-d), there is
even some sort of visual tracing, which helps to identify

Crazy idea for even more sophisticated gesture matching (assuming
we lift the finger/stylus once a character is done. Quickwriting
would need some more thought):

Record the input trace as a sequence of vectors. Then determine
for each possible path how different it is from it. If there's a
sufficiently close and unambiguous match, take it.

Possible paths would simply be from the center of the start zone
to the center of the end zone, or with an intermediate stop for
three-zone sequences.

The difference could be calculated by viewing the reference paths
as rubber bands and approximating the energy that would be needed
to bring them into the shape of the input path. Now, trying to do
this analytically would get us page-long integrals. But if one
would just have a small fixed number of evenly spaced points on
the respective paths, the sum of the distances of corresponding
points in input and reference path should be a very good

Such an algorithm would be tolerant against accidently crossing
corners belonging to other zones. However, it probably wouldn't
solve the common mistake of lifting off a bit too quickly. One
could of course also calculate some form of "momentum" ...

- Werner

 / Werner Almesberger, Buenos Aires, Argentina     werner at /

More information about the openmoko-devel mailing list