Sugar with a virtual (onscreen) keyboard
sayamindu at gmail.com
Thu Jun 17 08:16:43 EDT 2010
[Apologies for the cross-posting]
Thanks to the pointers provided by Peter Robinson, I got the Meego
FVKBD (Free Virtual Keyboard)¹ running along with Sugar.
A problem with the current FVKBD is that it supports only one base
layout. Even "variants" of that layout (eg: CapsLock enabled, Symbols,
etc) are treated as "temporary", which means that you press the "Caps"
key, enter a capital letter, and immediately after that, it gets reset
back to the base layout (lower case qwerty).
I wanted something which would be similar to the existing physical
keyboards that we ship with the XO machines - with a dedicated key to
switch between different scripts in the same keyboard. I had to extend
the code of FVKBD to implement that, and with the modified FVKBD, I
have spun a live-cd ISO (based on the current SOAS). You can download
it from http://dev.laptop.org/~sayamindu/sugar-vkbd-test/sugar-vkbd-test.iso
Apart from the modified FVKBD, I have added a default keyboard
definition file which is for English + Bengali, and I've also included
a sugar device-icon on the frame to control the appearance of the
I realize that more needs to be done to support non Latin scripts, and
here are some of the issues I faced while converting the existing XKB
* Many scripts do not have a concept of upper case/lower case - so we
need some other script specific way to divide the characters
* In the current XKB configurations, non-symbol characters from other
scripts are often placed in the position of what normally is symbols
for QWERTY keyboards
* Numerals pose an interesting problem, since in some places, native
numerals/digits are quickly being obsoleted, and latin numerals
(1,2,3..) are becoming the de-facto standard. In these cases, it may
make sense to provide only _one_ layout/state for numerals, and allow
users to input native numerals by hovering (touch + hold) on the
virtual key for the latin digit.
Among the general issues, I'm not sure how to deal with the keyboard
taking up half of the screen real estate - it may be worthwhile to see
if we can have a "split screen" sort of configuration while the
keyboard is active.
Thoughts, feedback, etc would be appreciated :-).
More information about the Devel