For example, entering in numeric values on a desktop computer with a keyboard is a non-issue (for the most part). If you intend "6", you type "6". However, if you are on a pen input device, if you intend "6", the recognizer may interpret "b".
Most of my requirements for pen input has focused around fields that should be constrained to numeric values. Simply using a 'numeric input only' text box often doesn't work. This is because if the recognizer interprets "b", the numeric text box discards that value. For the end user, this can be quite frustrating and counter-productive.
Presuming numeric-entry text, I've resolved to create an alphanumeric text box and simulate numeric-only by performing the necessary mapping from recognizer value to expected. Empirically, I've found the following table mapping suits most cases of misrecognition:
lowercase letter O (o) -> zero
uppercase letter O (O) -> zero
uppercase letter D (D) -> zero
lowercase letter I (i) -> one
uppercase letter I (I) -> one
lowercase letter L (l) -> one
slash (/) -> one
backslash (\) -> one
vertical bar (|) -> one
exclamation point (!) -> one
lowercase letter Z (z) -> two
uppercase letter Z (Z) -> two
lowercase letter S (s) -> five
uppercase letter S (S) -> five
lowercase letter B (b) -> six uppercase letter G (G) -> six
right angle bracket (>) -> seven
lowercase letter Q (q) -> nine
lowercase letter G (g) -> nine
single quote (') -> decimal point
comma (,) -> decimal point
In practice, I've found that the above mapping/conversion works pretty well and reduces the frustration and increases the validity of captured input.
No comments:
Post a Comment