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
The gnome-shell team, designers, the a11y team
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