Virtual QWERTY Keyboards to be used with Fingers...

Carsten Haitzler (The Rasterman) raster at openmoko.org
Sun Apr 6 22:04:30 CEST 2008


On Thu, 27 Mar 2008 21:41:24 +0100 "Flemming Richter Mikkelsen"
<quatrox at gmail.com> babbled:

> On 3/1/08, The Rasterman Carsten Haitzler <raster at openmoko.org> wrote:
> > On Fri, 29 Feb 2008 18:50:14 +0100 "Marco Trevisan (Treviño)"
> > <mail at 3v1n0.net> i WANT to type "waste".
> >
> > i press w - but really my finger may easily hit q,e,a or s - maybe even r,
> > d, z or t. as such every key has a center point. my finger will try and
> > press somewhere close to this center, but may fail and be closer to
> > something else. distance from the center point of a key will be the
> > probability that you wanted that key. for practical computation u need to
> > have a cutoff of X pixels away and ignore any possibilities greater than
> > that, so then u press another key. now u are close to 1 key - but also to
> > others. so as you type you get something like (a key, then a closeness
> > value from 1 to 9 lets say, where 9 is the closest. closeness is just a
> > measure of distance - inverted):
> 
> I really like this idea. I think it should also use aspell (a great
> dict. with many words in many languages) in combination with a user
> dictionary.

interesting you mention this. i actually thought of using aspell as the core of
a probability and correction matching engine, but as such it's api isn't
sufficient to use it. you need to be able to quickly eliminate probability
sequences letter by letter, otherwise your "possible matches" space is so huge
it'll never compute the corrected word. as such though, a corrective keyboard
is doing spelling correction for you anyway - it needs to just to be able to
correct the inaccurate typing :)

so anyway- aspell would have been great - it'd offload the matching to a
library designed for this kind of stuff, but alas, it's api is not sufficient,
so i need to do a custom one. :(

-- 
Carsten Haitzler (The Rasterman) <raster at openmoko.org>




More information about the community mailing list