On-screen Keyboard

Status: Complete


In the past, on-screen keyboard in GNOME was a fairly specialized AT, like gok. For keyboard-less devices, a much more general-purpose on-screen representation of a normal keyboard is preferable. To really work (e.g. to enter text in the gnome-shell overview, or in system-modal dialogs), the OSK needs to be integrated in the shell; there is an existing design for this: GnomeShell/Design/Whiteboards/ScreenKeyboard

Open questions around the design are:

  • Will this use the a11y stack ?
  • How will this interact with struts (does the OSK reserve space at all times, does it move out of the way, etc) ?
  • There are some interesting design questions for how to make an OSK usable with message tray input and the overview
  • We may need caret tracking to avoid 'type-under' problems
  • Are there parts of caribou that can be reused (e.g. keyboard layout descriptions) ?

Once the basic on-screen keyboard functionality is covered, there's a lot of enhancements that are possible:

  • Any serious OSK needs completion support in some form
  • Better completion might be context-sensitive, ie when typing a url, complete .com, etc
  • In the overlap with input methods, some CJK languages don't really need a OSK that mimics a physical keyboard, but rather a way to draw characters


Dan Winship

Involved Parties

The gnome-shell team, designers, the a11y team

Current Status

This is likely going to be (partially) done as a SoC project, with Dan Winship doing the mentoring and the shell-integration work (Bug 612662). The student is Nohemi, and her most recent progress report is here

How to Help


ThreePointOne/Features/OnScreenKeyboard (last edited 2011-08-31 19:44:27 by walters)