Notices


Reply
Thread Tools
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#1
Hello everyone,

I've managed to mix up the QwikScript input method for Qtopia with the Hildon input method plugin example. The result is an input method plug-in implementing QwikScript on the Maemo OS 2008 platform.

The code is available in the garage (project name: qwikscript). It's currently in beta form: it works, I haven't have it crash on me yet, but it's still not 100% perfect or feature complete.

I've only made a .deb available for now; you'll need to sudo gainroot to install it.
EDIT: you'll also need to restart your tablet, at least until I figure out how the input method process can be restarted.

Note that the code is still somewhat rough; I'm releasing it in the hope that others will find it as useful as I do right now. Namely, the input area graphics are not to my liking, and the virtual keyboard's shift/modea/modeb keys are ignored.

Let me know what you think, but please be gentle, it's my first Maemo application.

What is QwikScript?

The QwikScript input method was originally written by David Placek and is inspired from Ken Perlin's "QuikWriting" input method. It's a bit hard to explain without some sort of screenshot. Look for it in the attachments to the post.

The two square areas with a center circle are the alphabetical and numeric input areas, respectively.

There are two sets of characters per area: outer and inner. The inner letters are accessed by inputting the "square" character as a prefix.

To enter characters:
  1. Move the pen to the center circle of the desired input area;
  2. Find which region (separated by gray blotches) contains the character you want;
  3. Move the pen to that region;
  4. Depending on the position of the character in the region you are in, move the pen to the region towards which the character points to. For instance, the rightmost character in the upper-left ("K") region points to the upper-right region.
  5. Move the pen back to the center circle.
This sounds complicated, but it's actually quite intuitive once you get the hang of it. To help out, here's an example: to type "abw", you'd do the following movements, starting from the center:
  • Move to upper-left corner;
  • Move back to the center;
  • Move to the lower-right corner;
  • Move to the low center region;
  • Move back to the center;
  • Move to the lower-left corner;
  • Move to the left center region;
  • Move back to the center.

Here's an explanation of the different symbols in the input areas, besides the obvious ones:
  • Square: switch to "inner" characters in the area. Valid for one character.
  • Triangle pointing up: shift (characters are normally lowercase). This is good for only one character as well.
  • Triangle pointing left: backspace
  • Triangle pointing right: space
  • Circle with a dot in the center: swap the two input areas for one character.
Well, I guess that pretty much sums it up. Post any comments/complaints/praises here.
Attached Images
 

Last edited by bge; 2008-05-08 at 02:14. Reason: Moved screenshot to attachment to offload Garage a bit
 

The Following 7 Users Say Thank You to bge For This Useful Post:
Benson's Avatar
Posts: 4,930 | Thanked: 2,271 times | Joined on Oct 2007
#2
Thanks so much; I think this is the first 3rd-party input method, so you're definitely a trail-blazer here; I think I'd rather have a graffiti-ish system (less learning), but I'm certainly going to give this a shot.

I'm going to try it in portrait mode, as I'm reasonably happy with the stylus-board and/or finger-board for landscape. HWR is the only input method that retains its utility well in portrait mode ATM, but because it's so bad to start with, it's about tied with the (severely degraded) stylus-board.

So you'll get feedback within about a day or two on that; though it's not horribly representative of mainstream usage, I have high hopes for this.

Edit: Installed fine; not showing up in list yet. (Probably needs a restart...)

Last edited by Benson; 2008-05-07 at 22:47.
 
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#3
Originally Posted by Benson View Post
I'm going to try it in portrait mode, as I'm reasonably happy with the stylus-board and/or finger-board for landscape. HWR is the only input method that retains its utility well in portrait mode ATM, but because it's so bad to start with, it's about tied with the (severely degraded) stylus-board.
Hmm, hadn't thought of portrait mode at all I'm afraid... I'm sure it won't work, unfortunately, because the coordinates are still pretty much hardcoded everywhere in the code. I'll try to fix this tonight and make a new release. That will force me to clean up all those hardcoded numbers... (and that'll teach me for using them in the first place--in my defense, the original code was full of them, but I should have known better )

As for Graffiti, I beleive the original one is patent-encumbered. Graffiti 2 (Jot) may be OK, but I'd hate to try to code it from scratch... if anybody knows of some open-source code I could use, I'm willing to give it a shot at some point.

Still, by all means, try it out in landscape to see if you can get the hang of it. The port to portrait mode should be easy enough, it's just hard for me to test it. Anybody know how to do this on scratchbox? (I'm not really willing to reflash to test this)

Edit: yes, you need a restart, or at the very least, restart of the hildon-input-method process (I haven't found documentation on how to do a "warm start" yet). When installed, it shows up as "QwikScript" in the input menu.
 
Posts: 259 | Thanked: 72 times | Joined on Dec 2007 @ Halifax, NS
#4
I didn't download or even try it before getting dizzy with excitement over this (though I have been running a fever, maybe that's it).

An alternative input method!!! Hooray!

Any chance of OPTI II or ATOMIK or something like that?

Thanks sooo much for blazing that trail.
 
Posts: 259 | Thanked: 72 times | Joined on Dec 2007 @ Halifax, NS
#5
As far as an OSS "Graffiti", I have come across it in the NDS homebrew world. Not sure how useful it will be, but binaries and source are here:

http://gugusse.central.free.fr/papaf...Frotz_v1.5.zip

I'm sure you can make a few small changes to the alphabet if it keeps you out of trouble

EDIT: Here's the main page, scroll way to the bottom to see the input method. Thanks again.
http://gugusse.central.free.fr/papafuji/adventures.html

Last edited by BoxOfSnoo; 2008-05-07 at 23:31. Reason: Added the link to the main page
 
Benson's Avatar
Posts: 4,930 | Thanked: 2,271 times | Joined on Oct 2007
#6
Rebooted; it works, sorta. One of the two pads is ~75% on-screen with the navigator on the left (or right); with the navigator on the top (or bottom), or in full-screen, 1 pad is on, and the other is about 35% on.

So it's usable, if you have a sane configuration and don't mind using one pad. I'd rather use both; but the functionality's there.

Unfortunately, I think it's too wide to ever fit both pads on with the navigator on the side. I'll post a couple screenies momentarily to demonstrate what I'm talking about.

(Dug up an old post of mine; perhaps I'm one of few who really wanted this...)

The most promising one looks like xscribble, that's graffiti-like stuff. It's also got a website last updated in 2003, and a version number >1 (1.3), so mixed news.

Also matchbox-stroke, xstroke (GPL), but the place it's supposed to live is down, the other xstroke (non-commercial license), and perhaps some others.

The Agenda VR3 had graffiti-like stuff, but I'm not sure how easy it is to extract it, or even where the source is to be found. (I used to lust after these, way back in the day...) Here's some info, though.
http://agendawiki.com/cgi-bin/aw.pl?HWRProjectPage
http://agendawiki.com/cgi-bin/aw.pl?RecdInvestigation
http://agendawiki.com/cgi-bin/aw.pl?Andys/UsingAgenda

Last edited by Benson; 2008-05-07 at 23:42.
 
Benson's Avatar
Posts: 4,930 | Thanked: 2,271 times | Joined on Oct 2007
#7
. . .
Attached Images
  
 

The Following User Says Thank You to Benson For This Useful Post:
Benson's Avatar
Posts: 4,930 | Thanked: 2,271 times | Joined on Oct 2007
#8
I've only used it a bit, but it seems to be rather finicky about down-right and down-left (switch pads and return) -- it seems as though if I drag too far down before hooking over, it doesn't take it, but if I make a near-circular loop through the correct intersections, that works... Could it be losing track at the bottom edge of the screen? (Or could my screen not be reporting things well at the extreme edge, perhaps...)
 
Posts: 39 | Thanked: 66 times | Joined on May 2008 @ Montreal
#9
OK, I've released a version that should work better in portrait mode.

Grab it here: https://garage.maemo.org/frs/?group_...elease_id=1792

As far as the "finicky" part in the bottom: I don't know, I haven't really noticed this (I have more problems with the top-center part myself--I suspect once I add the color pixel detection back from the old code, it will work better). But you don't need to go all the way to the edge of the input area to input characters, even those on the outer edge. I don't go much further than 50% of the way between the circle and the edge myself.

And thanks for the feedback!
 

The Following User Says Thank You to bge For This Useful Post:
Benson's Avatar
Posts: 4,930 | Thanked: 2,271 times | Joined on Oct 2007
#10
I know I don't need to, but I've a tendency to ride the bezel when I'm at the edge of the screen.

What color pixel detection?

Anyway, I'll install that tonight, but don't expect any feedback till tomorrow, probably evening.

Thanks again!

Edit: one thought: How hard would it be to show trails, or at least a dot for a cursor, so you can see where you're going if your calibration's not spot-on? That's probably a lot to add...

Last edited by Benson; 2008-05-08 at 02:06.
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 00:52.