Design Team/Proposals/Touchscreen/On-screen Keyboard

From Sugar Labs
< Design Team‎ | Proposals‎ | Touchscreen
Revision as of 12:42, 8 April 2012 by Garycmartin (talk | contribs) (added design requirements)
Jump to navigation Jump to search

Existing solutions

GNOME shell on screen keyboard

Gnome 3.2 on-screen Keyboard originally a GSoC 2011 project by Nohemi Fernandez, mentored by Dan Winship. Here is the original design document, project report, an interesting bugzilla thread, feature status pages, and a post from Nohemi's blog.

And here is the GNOME shell keyboard code. It is part of GNOME 3.2 (Fedora 16). You can get to it when you click on the accessibility button at the top right of the screen and enable 'Screen Keyboard'. It will come up then when you click in the url entry in Epiphany or if you bring it up by hand. It does not come up automatically when you want to type in the google search for example.

Caribou is the backend used with the gnome-shell onscreen keyboard. You can choose between different layouts which are placed in Fedora under '/usr/share/caribou/layouts/'. The layouts are in XML format. For the touch layout there is one for arabic and one for hebrew.

You can get the current layout with:

 gsettings get org.gnome.shell.keyboard keyboard-type

You can change the layout with:

gsettings set org.gnome.shell.keyboard keyboard-type fullscale

Maliit

Malit You can run Maliit on Fedora 16: https://wiki.maliit.org/Documentation/Installing#Fedora and did run the "maliit-keyboard-viewer" example: https://wiki.maliit.org/Documentation/Running

There are many different layouts for languages like German, French, Arabic and so on, in Fedora they are stored under '/usr/share/maliit/plugins/languages/'. The format of the layouts is XML.

Gnome Onscreen Keyboard

Gnome Onscreen Keyboard

Florenc

Florenc

Eekboard

eekboard see the developers blog for a video and more details, and some eek board on a Tablet notes. For F-15 and F-16 try the below (note I couldn't get the focus change events auto hide to work on 12.1.0 build 6 as desktop accessibility support is disabled):

sudo yum install eekboard
eekboard -F

Previous research from Saymindu

Previous research from Saymindu

Evaluation

Requirements

Needs

  • Multilingual text input (ability to switch at least between two languages)
  • International (ability to show custom international characters such as accents and currency symbols)
  • Key popover for quick access to extra characters (useful as well for above)
  • Landscape and portrait orientation (portrait has a better ratio of canvas to keyboard UI chrome)
  • Reveal on focus of text input widget entry, dismiss on defocus
  • Reveal and dismiss on screen keyboard UI manually
  • Slide canvas vertically to keep insertion point visible
  • Uppercase alphabet key theme
  • Frame friendly (hide frame when keyboard invoked, hide/reveal when frame is revealed/hidden)
  • Sugar theme-able

Would like to haves

  • Insertion point movement (cursor buttons vs. left/right swipe gesture)
  • Additional customisable key/button strips for Activities to provide additional specific features
  • Keys for cut/copy/paste – perhaps toolbar buttons are enough already?
  • Custom keyboard layouts for specialised input needs (url, numeric, emoticon)
  • Predictive text (context sensitive, locale sensitive)
  • Square keys

Recommendation