OnScreenKeyboard

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

On-screen keyboard for mobile and embedded platforms.

Release Note

For text input on the go, Ubuntu mobile and embedded edition features a highly configurable on-screen keyboard.

Rationale

Some mobile devices and kiosk systems will be touch-screen operated with no physical keyboard. These need an on-screen keyboard that works well on the small form factor.

Use Cases

  • Tablet PC
  • Ultra mobile device
  • Public terminal in Kiosk mode without keyboard
  • In-car systems

Assumptions

Design

onBoard is lightweight, flexible and uses Cairo for fast and flexible rendering. Several keyboard layouts should be provided for different devices and preferences. OnBoard supports layered keyboard layouts and transparency. The following mock-ups are examples of what can be done with the onBoard code, not direct suggestions for final layouts.

QWERTY

As boring and inefficient as it is, Qwerty is something people will expect. To reduce the space requirements numbers and symbols should be moved to a separate layer. Qwerty keyboards on small devices are usually best used with the stylus as the keys tend to be small.

Mobile phone inspirate

A keyboard that looks and works like a mobile phone keypad takes up much less space but is also less efficient in use. As on a mobile phone, there are several letters on each key. Press a key several times in a row or for a certain interval to get the second and third letters. The advantage is many people are already highly skilled at this form of text input.

Full sidepad

This 5x7 key keypad contains all the letters in a typical alphabet plus some symbols and modifier keys. As with Qwerty this keypad will likely require use of the stylus.

side1.png

Frequency optimised sidepad

This 4x5 keypad only has the 20 most commonly used letters of a given language (in this case English; source). The remaining 6 letters combined are only needed once every 5 keystrokes. These can be found on the 'sym' layer along with numbers and punctuation. Combinations of sym and shift yields 4 layers with 80 characters (of which 52+ are lower and upper case alphabet). The advantage of this keyboard is that it is small but can still be operated efficiently with the thumb on one hand.

side2.png

Transparent full-screen keyboard

For larger passages of text, input efficiency is important. The full-screen keyboard can be used with both thumbs. The keys 8x4 keys are big and easy to hit, while the symbol layers are needed less often than in smaller layouts. The keyboard would sit on top of the editor application and thereby grab the screen input. A button is provided to quickly hide the keyboard.

full.png

Non-latin input

Alphabets with over 50 base characters will require different layout concepts. Multiple modifier keys can be used in combination to give a large number of characters with few keystrokes.

Implementation

UI Changes

  • New layouts must be designed as SVG and associated layout files.

Code Changes

  • OnBoard needs code changes to perform direct rendering of SVG buttons and window-less transparancy.

Test/Demo Plan

Future work

  • Give vibration/audio feedback to indicate good and indeterminate keypresses (like between keys).

  • More novel keyboard layouts can be explored.
  • Real-time spell checking and word prediction can be used to make input more efficient.

Outstanding Issues

BoF agenda and discussion

BenjaminPineau. What about Asians input methods (SCIM, anthy & co) ? Will CJK people have a way to input in their language ? This plan doesn't appear to provision such a need.


CategorySpec

MobileAndEmbedded/OnScreenKeyboard (last edited 2008-08-06 16:20:40 by localhost)