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