Currently, "auto-capitalisation" feature on the VK is implemented by "Shift"-ing the entire layout (i.e. switching the keyboard to its secondary "Shift-state" layout).
This approach works in most cases but not always, causing not-so-great UX, for examples:
- In web Google Hangouts: Shift+Enter = newline, Enter = send. After typing a dot to end a sentence, the keyboard is "Shift"-ed by auto-cap, and the user cannot immediately press Enter to send the message.
- The A11y VK also has problem with the auto-cap state which carries the SHIFT modifier state when pressing other keys. e.g. pressing ArrowLeft key, pressing some shortcut keys with Ctrl modifier key. (example given by shuchen@)
- On any Swiss layout, certain keys don't have capitalised variant of the same letter in Shift state by design, e.g. Shift+é = ö. Auto-cap by "Shift"-ing the layout just doesn't work (no caps) and is confusing (different letter is typed).
- In several layouts, there's punctuation mark and digit keys. It not only makes no sense to "Shift" these after a sentence-ending dot, but it's also confusing if the user hits one of these keys next before realising they should've de-Shift-ed first to get the intended character.
Two fundamental reasons why "Shift"-ing the entire keyboard could cause issues:
(1) Auto-capitalisation doesn't mean and shouldn't always behave in the same way in all languages.
(2) There's no guarantee the secondary Shift-state layout always has capitalised variants of the same letters at all key positions.
In fact, "auto-capitalisation" should be a decoder/input-logic feature that does language-aware letter transforms based on the input context, independently from the keyboard state.
Comment 1 by iloahz@chromium.org
, Nov 26Status: Assigned (was: Untriaged)