SOK

Differences between revisions 13 and 14
Revision 13 as of 2006-06-07 13:28:27
Size: 6345
Editor: vodsl-8429
Comment:
Revision 14 as of 2006-06-07 14:22:28
Size: 6540
Editor: vodsl-8429
Comment:
Deletions are marked like this. Additions are marked like this.
Line 34: Line 34:
 * Anti-pointer-grabbing measures: the user should always be able to move the pointer anywhere on the screen. Moreover, any pointing device attached to the computer should act on that unique pointer.
Line 52: Line 53:
 * Multiple pointers, scanning and dwelling  * scanning and dwelling (maybe there is no need of multiple pointers)
Line 58: Line 59:
 * Anti-pointer-grabbing measures

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 because the device they are using does not have a physical keyboard (information terminals at expos), 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. In order to make it really useful, the on-screen keyboard should provide as much as possible, the same functionality as the physical keyboard. Further the on-screen keyboard should be available as soon as possible when starting the computer (login screen).

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.
  • At expositions there are sometimes terminals consisting only of a screen where the visitors can get informations. The on-screen keyboard will improve the interaction with this devices.

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. (In order to avoid cluttering the desktop with different keypad-windows, a different approach could be considered: creating only one keyboard having all the necessary keys; for example resembling the keyboard of a notebook. The layout of the keyboard would automatically correspond to the keyboard layout set in the keyboard-settings in Ubuntu. This would cover 2 situations: 1. localization; 2. typing with a glyph, that does not correspond to the physical keyboard.)
  • Anti-pointer-grabbing measures: the user should always be able to move the pointer anywhere on the screen. Moreover, any pointing device attached to the computer should act on that unique pointer.
  • The keyboard is by default configured to be always on top, even if the active application takes over the whole screen.
  • The keyboard is continuesly resizable.
  • The keyboard can be reduced to a floating resizable icon by clicking on a button on the keyboard (instead of turning it off); by clicking on the icon, the keyboard reappears.
  • Pressing virtual key triggers the same function as pressing the equivalent key on a physical keyboard (formerly was: Pressing virtual key sends a letter to the active window). Particularly, the scope of a pressed modifier should be systemwide like that of the physical keyboard; for example if I click somewhere on the screen while a modifier is pressed on sok, I should have the same functionality as if the modifier was pressed on the physical keyboard.
  • Modifier keys, like Shift, Ctrl and Alt are included; a single click on a modifier will make it stick until the next keypress; a double click on a modifier will make the modifier stick until the next click on the modifier; the preferences of sok contain an option to make a modifier sticky with a single click, thus eliminating the distinction between single- and double-click
  • A way to do the right click by using the left click; maybe by activating a button on sok
  • 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.

  • Choice between more keyboardtypes: notebook keyboard, extended keyboard, extended with numeric keypad; may be even a fully customizable keyboard
  • scanning and dwelling (maybe there is no need of multiple pointers)
  • Predictive Word Completion; single word prediction, multiple word prediction by learning expressions used by the user even if they are not grammaticaly correct
  • Multiple dictionaries and user-dictionaries that can be individualy and simultaneously activated; so the user can create dictionaries for different purposes and activate only those that he needs; for example a dictionary with the names of friends,...
  • Macros
  • Optional intelligent behaviour: automatic space after word completion or after a ponctuation; automatic shift-modifier activation after some ponctuation;...
  • Full desktop navigation (menus, etc.)

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)