This project is an implementation of Quikwriting, an efficient way to input text for hand-held devices almost without picking your finger off the screen, all the credits must go to Pr Ken Perlin.

It is released under a free software license, see COPYING for more details.

Copyright 2008, 2009, 2010 Charles Clément: caratorn _at_ gmail _dot_ com


Binaries can be obtained on the download page as well as the package sources. A debian package is available, thanks to Yaroslav Halchenko.
You can visit the project page for more information.


On the SHR distribution, you can install the software with the following:
opkg install qwo-$(version)_armv4t.ipk
In Illume you will need to deactivate the Qtopia keyboard by adding the line:
in the file /etc/X11/Xsession.d/89qtopia and restart the X server with:
/etc/init.d/xserver-nodm restart
Then click on the wrench, select the keyboard configuration utility and select qwo.


Every normal gesture for printing the characters that are displayed by default starts and ends in the middle region of the screen. To input the character that is in the center of a region, start with your finger/stylus in the middle region, enter the one the character is in and go back to the center. To display the character that is on the left of the middle one, start in the center, go in the region and then to the adjacent region on the left and then in the center.

Gestures are handled with key presses and thus should be strong enough.

Numbers are issued with a press on the corresponding region of a numeric keypad, except for the 0, issued by entering the center region and releasing in the one below.

The arrow is a modifier and will change the case to uppercase for the next inputed character; extending the gesture one region past its normal destination will lock the case to upper, to return to lowercase, issue the arrow again.

The left < and right > of the center area are, respectively, the delete and space.

Other characters can be obtained without beginning and ending in the center, the current keymap for these can be displayed on the screen by going in the middle left region, then the one below and release. The same gesture will take you back to the normal screen. The P represents paste.

You can resize the window by issuing a gesture starting in one of the outer region, going to all other regions except the center one and ending past the starting one. The incremented size is multiplied by the number of region past the starting one where you lift your finger. Issuing this gesture clockwise grows the window, counter-clockwise shrinks it.

It is possible to customize the layout by adding a configuration file in your home directory named .qworc or with the command line switch -c file_name. You first need to install libconfig (http://www.hyperrealm.com/libconfig/). An example configuration file for a French layout is provided in data/qworc. You can access these characters by issuing a normal gesture and instead of going back to the center, go back to the first region entered.
The definitions for the letters are the ones defined in /usr/include/X11/keysymdef.h without the "XK_" prefix.
You will need to add extra characters to your keyboard mapping, this script running on a host can help you find the keycode needed to be added with xmodmap. Put the output lines in the form

in a $HOME/.xmodmap file, then add the line
xmodmap .xmodmap
in your $HOME/.profile and restart the X server.


qwo keys screenshot qwo screenshot


Quikwriting homepage
Openmoko wiki

Last updated 04/15/2010.