1xstroke TODO (in no particular order).
2
3Add a yyprint to rec_parse.y for better error messages for broken
4config files.
5
6Support for multi-stroke characters. Maybe a Prefix option in the
7configuration file? Maybe a timeout for a prefix character to resolve
8to its own character, (or a separation theshold).
9
10Maybe: tap could be recognized different ways depending on if the
11window of interest has focus, (punc-shift) or not (mouse click). I
12have no idea if this will work or not.
13
14properties to control whether xstroke owns the grab or not:
15
16        RECOGNIZE_PROTOCOLS, LISTofATOM
17                RECOGNIZE_RAW
18                RECOGNIZE_KEY
19                RECOGNIZE_BUTTON
20                RECOGNIZE_UTF8
21                RECOGNIZE_NAMED
22                ...
23
24xstroke binary needs a version number.
25
26Add a drop-down menu for selecting modes.
27
28Write an alphabet viewer utility (help mode).
29
30The graying-out of the control window is far too subtle. Probably time
31to draw some icons.
32
33Add accented characters to the default alphabet, (as well as other
34interesting international characters).
35
36Split the frontend off into a separate program that talks with recd
37through an IPC mechanism, provided by a convenient librec API.
38
39Come up with a way that individual applications can have custom
40stroke->action bindings. This will probably depend on the recd work
41mentioned above being done first.
42
43Write a configuration/training utility.
44
45Sound effects?
46
47Different stroke colors, configurable on per-mode basis.
48
49Mode-specific pixmaps in the control window.
50
51A "correct stroke" for teaching it what the stroke that just went
52unrecognized should have been.
53
54Auto-prompting of possible stroke completions if the user pauses
55mid-stroke.
56
57Fix Caps_Lock handling for Xkb-aware servers, (see comments in
58xstroke.c:key_action_cb).
59
60Some comments from Ken Steele (steele@lcs.mit.edu) along with my
61replies:
62
63 > 9) In punctuation mode, a slash down to the left should be an X. This is a clever wa\
64y
65 >    to allow a two stroke 'x', which is what is done on the palm.
66
67Ah, I had seen that on the diagram, but it hadn't clicked with me what
68they were doing.
69
70Problem is that this clashes with a graffiti style ','. The cause of
71the clash is that graffiti has two punctuation modes, ('.', and '\').
72
73 > 10) In punctuation mode, most of my '?'s become '='. I draw the vertial tail in the \
74middle
75 >     more than on the left. When I look at the diagrams, I can draw the vertical tail\
76 to
77 >     the left, but I don't do that naturally.
78
79Noted. This one is problematic. Someday I'll write a real recognizer I
80think. *sigh*
81
82 > 8) On my palm, I can tap very quickly, but on the ipaq, very quick taps, even
83 > ones that make a loud noise, are missed. Can this be fixed?
84
85I hope so. In these cases xstroke is not even getting mouse events so
86there's nothing I can do about it that way. I'm guessing that the
87touchscreen driver in the kernel might be filtering these out. I'll do
88some investigating to try to track this down.
89
90The first thing to do is turn X off and look at the touchscreen
91devices, (both raw and filtered), to see if these short taps are
92making it through the kernel.
93
94
95