SOK

Differences between revisions 1 and 2
Revision 1 as of 2006-04-26 11:13:20
Size: 3462
Editor: henrik
Comment: new spec
Revision 2 as of 2006-04-26 12:21:54
Size: 3517
Editor: henrik
Comment: added LP link and QVkeyboard
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/foo  * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/sok
Line 59: Line 59:
 * [http://freshmeat.net/projects/qvkeyb/ QVkeyboard]

A simple on-screen keyboard

Summary

A simple on-screen keyboard will be useful for those who are not able to use a standard keyboard, either due to a disability, or because they use a tablet PC or wish to input in a language for which they do not have a keyboard (usually with a different glyph-type).

Rationale

The Gnome On-screen Keyboard is a flexible application for entering text with the pointer or with switching devices. However, it is highly complicated, trying to solve many problems. There is scope for the creation of a much simpler on-screen keyboard with fewer features but greater stability and usability. A focus not only on accessibility, but also on tablet PC hardware and localisation would create a wider user-base with more testing and development.

Use cases

  • Liza is a student who uses a head-mouse device to interact with her computer. Her school has migrated all their desktops to Edubuntu and she would prefer to use that as well. She can move the mouse cursor by moving her head and can activate the left click using a specially designed button. She is not able to use a normal keyboard, but can work quite efficiently with an on-screen version. The head-pointer uses a standard PS/2 connection and is the only pointing device connected to the computer. She can navigate the Gnome desktop and the web perfectly well with this setup so she only needs the on-screen keyboard for text-entry.
  • Eduardo is a travelling sales rep. who gives presentations to customers on his tablet PC. For major text entry he can unfold the physical keyboard on the device, but using an on-screen keyboard is often more convenient.
  • Signe has started learning Russian and wants a simple way to input some Russian characters without putting sticky tape on her keyboard.

Scope

Design

  • The basic initial configuration is a simple Qwerty Keyboard (or local equivalent), without keypad, function keys, etc.
  • Additional keys can be supported as add-on panels that slide out from the main one.
  • The keyboard is by default configured to be always on top (can be turned off)
  • Pressing virtual key sends a letter to the active window.
  • Modifier keys, like Shift, Ctrl and Alt are included and can be sticky
  • Can be launched from panel applet

Implementation

  • Use a higher level framework like python and pyGTK.
  • Use the existing XML file structure used by GOK and port the keyboard parsing code to python.

Deferred features

Some features which currently exist in some on-screen keyboard should be kept out of the first implementation in order to keep it simple. These could be implemented later as plug-ins.

  • Multiple pointers, scanning and dwelling
  • Predictive Word Completion and macros
  • Full desktop navigation (menus, etc.)
  • Anti-pointer-grabbing measures

Outstanding issues

  • Should we use the Sticky Keys feature of Gnome to keep the key states of Shift, Alt and Ctrl or should we

BoF agenda and discussion

References

Accessibility/Specs/SOK (last edited 2008-08-06 16:14:01 by localhost)