fb48d00 dependencies: Don't link with xkbcommon
~earboxer pushed to ~earboxer/suggpicker git
swipeGuess is a completion program intended to be used as a plugin for touchscreen-keyboards on mobile devices.
For each line input from stdin, it looks through a wordlist and outputs the first possible match for that gesture.
it's run like input-program | swipeGuess wordlist.txt | output-program
The input program should output a stream of letters "swiped through", then a newline.
This is supported by wvkbd since version 0.6.
This should be a list of words, sorted by preferability of choice.
Good starting points can be found on the web, based on your language.
The most basic sorting technique would put longest words first, otherwise, it may be impossible to type them.
# Good autocompletion for terminal
ls $PATH | awk '{ print length, $0 }' | sort -nr | cut -d" " -f2- > binsSorted.txt
Smarter sorting would be keyboard-layout aware. mapscore.py can do that for you
./mapScore.py map.tsv <words.txt | sort -nr | cut -f2 > wordsSorted.txt
map.tsv uses tabs and newlines to create the grid-based layout. See map.qwerty.simplegrid.tsv
for a sample of how to format this file.
If your keys are in a hexagonal layout, use mapScore like
./mapScore.py map.simple.tsv bee
.
completelyTypeWord.sh
(included in this repository) will type the characters (besides the first character, which is already typed by wvkbd) using wtype.gcc swipeGuess.c -o swipeGuess
.~/.local/bin/
or /usr/local/bin/
for example)wvkbd-mobintl -O | swipeGuess /path/to/words.txt | completelyTypeWord.sh
KEYBOARD_ARGS='-O | swipeGuess /path/to/words.txt | completelyTypeWord.sh'
can be added to your ~/.profile to enable this (effective on restart).