OneStroke

OneStroke is a gesture-based character input program.
Because a tablet PC in tablet mode does not have a keyboard, a software
replacement is necessary. OneStroke aims to be a more elegant replacement to
the bulky on-screen keyboard.

New in 0.8.4

OneStroke now features a rotational invariance mode that allows
you to draw symbols in any orientation! A number of bugs have also been fixed
and the bundled gesture profile tuned up.

See the README included with the source for a full list of
changes.

Files

OneStroke is only available for Unix based systems with
X11/GTK and only as a source
distribution. OneStroke is released under the
GPL license.
Please read the bundled installation instructions for more information.

Using OneStroke

The main window, drawing segment angles.

Draw a one stroke symbol on the main window and OneStroke will
send the associated key stroke to the window in focus as if typed on the
keyboard.

To "hold down" a key, draw the symbol and stop at the end of the stroke
without raising the pen. After a brief interval the stroke will be recognized
and the key event will generate multiple times as if the key were held down.

To cancel drawing a symbol simply move the pen off of the drawing area
without raising the pen. After a brief interval the stroke will cancel.

The Symbols window showing the bundled 'risujin' profile.

To learn the symbols and to modify them or create your own, right click on
the main window and open the Symbols window. Here you will see the symbols in
the current profile. The strokes are drawn from green to red. Click on a symbol
icon on the left. On the right side of the window you can now change the
associated key event. If you wish to change the symbol gesture, draw on the
main window. Make sure you deselect the symbol or close the Symbols window
before trying it out though.

Symbol sets are stored in profiles and can be modified, saved, and loaded via
the Symbols window. Profiles are saved as files in the "~/.onestroke-0.8"
directory.

Recognition Methods

The context menu showing the recognition options.

The gesture recoginition method and feedback drawing mode can also be set
via the right-click context menu. The recoginition modes are:

Composite (default) --
Combines the two methods for better reliability.

Scale dependent --
Finds distance between symbol graphs by finding the average distance between
the pens of each graph over time. The graphs are normalized by length to
make this comparison possible.

Scale independent --
Similar to the previous method, this variation uses segment angle difference
instead of pen distance. It is naturally impervious to scale differences.

Rotational invariance --
Starting with version 0.8.3 you can enable the "Rotational Invarianve" toggle
in the mode menu. This option will automatically compensate for any
rotational differences allowing you to draw your symbols in any orientation!

Favor original orientation --
This will tilt the match score in favor of non-rotated symbols. This is
useful if you use gestures which are rotated copies of each other and want
the program to differentiate between them.

Need Help?

Can't get OneStroke to compile? Having trouble getting it to
work? Found a bug? Don't be afraid to let me know!