Background: [C-API] Get User Input? - #5 by UrlOfSandwich
Since there's no C-API keyboard, I cogitated a bit on how to enter text. Sure an on-screen keyboard works ... at least for Latin-based glyphs. One of the problems with this is the number of clicks needed to get from Q->G (5) or Q->P (9 if there's no wrap-around). An then if it's not QWERTY, I spend ages just finding the letter... But is there an alternative?
Anyway, I came up with a D-Pad concept, possibly I've read/seen it somewhere else, but I didn't find anything searching. The idea is to split the possible letter-space set into quadrants of letters, but with a nod to their frequency. (Ref: Letter Frequency for English). It doesn't have to be Latin, Hiragana (~50 glyps) or Cyrillic (~32 glyphs) could be similarly split. Whatever the letter-frequency is for the system language, we'd use that (assuming it's available to the C-API).
With this layout, I can get to any English letter in 3-clicks.
As a quadrant-block of letters is selected by the user, that sub-range is then further re-spread around the quadrants. In the example above
E are significantly more common than anything in
BCD, so they are split out into their own button. Once a click is made on a single letter, that becomes part of the input and the quadrants return to full-alphabet.
I thought about splitting the letters up in non-alphabetical order. This allows you to put the most common letters on single keys, and the uh, "junk" remaining letters on [Down], but I think then makes it a "knowledge based" thing for the user to type quickly, and at least for me, is non-intuitive. So in the example above, all of
BCD are more common than
F, but I think having the circle say
BCF is not worth the initial confusion. You're breaking the alphabetical model.
- A long tap on (A) button submits the whole input
- A quick tap on (A) button drops the keypad-set back one step.
- A long tap on (B) changes the character set, maybe upper->lower case, digits, punctuation.
- A quick tap on (B) is backspace on the input.
What do you think? Does this idea have legs?
Do we have enough pixel-resolution to show "abcdef" (etc.) in buttons. Maybe "A→F" ??!
Maybe I should make a prototype. I don't want to, I just want to write my game, but "needs must" and all that.
PS> If you have any thoughts, especially quality-criticism, I want to hear it. Especially from non-English speaking people.