plugins for wvkbd using swipeGuess
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/bin/sh
sock="$XDG_RUNTIME_DIR/predictor.sock"
lw="$XDG_RUNTIME_DIR/pred.lastword"
complete="$XDG_RUNTIME_DIR/pred.complete.bool"
words=~/.local/share/sxmo/words.txt
twow=~/.local/share/sxmo/count_2w.txt
keymap=~/.local/share/sxmo/keyboard.map.tsv
rm -f "$sock" "$lw" "$complete"
mkfifo "$sock"
saveWord(){
while read -r word; do
printf "$word" > "$lw"
echo "$word"
end="$(printf "$word."|wc -c)"
rm -f "$complete"
grep -m 5 "^$word." "$words" | cut -b$end-99 |tr '\n' '\t' |sed 's/\t$/\n/g' > "$sock"
done
}
typeSomehow(){
while read -r word; do
if test -e "$complete"; then
test -n "${word:1}" && wtype "${word:1}"
else
wtype "$word"
fi
done
}
cat 0<> "$sock"|suggpicker 2>/dev/null|saveWord | typeSomehow &
while read -r swipe; do
if test -n "${swipe:1}"; then
touch "$complete"
# TODO: change words
echo "$swipe" | swipeGuess "$words" 5 >> "$sock"
else
if test "$swipe" = ""; then
if test -e "$lw"; then
rm -f "$complete"
word="$(cat "$lw")"
grep -i -m 5 "^$word " "$twow" |awk '(1){printf $2; i++}(i<5){printf "\t"}END{print ""}' >> "$sock"
rm -f "$lw"
fi
elif test "$swipe" = "$(echo -e "\x08")"; then
rm -f "$lw"
else
printf "$swipe" >> "$lw"
fi
fi
done
killall suggpicker
|