[maemo-users] Virtual keyboards

From: Eero Tamminen eero.tamminen at nokia.com
Date: Thu Aug 2 17:25:42 EEST 2007

ext Marius Gedminas wrote:
> On Mon, Jul 23, 2007 at 02:09:28PM +0300, Tomas Junnonen wrote:
>> ext James Knott wrote:
>>> I have demonstrated with two different virtual 
>>> keyboards, that it is indeed possible to run an X app via ssh, with a
>>>  virtual keyboard.  Now that this fact has been established, perhaps
>>> you can explain why the N800 virtual keyboard fails in this regard.
>>> It is not because it is not possible with X.  Incidentally, xvkbd
>>> occupies a small area of my screen and while onBoard uses a larger
>>> area, it is still smaller than my desktop.  As for the keyboard
>>> showing or not showing all the time, I'm not expecting it to
>>> disappear, when not needed.  It would be nice if it could simply be
>>> available for me to use, in the manner I might use xvkbd or onBoard
>> There are many ways to implement a virtual keyboard. For example, you
>> can do it on the X level or using a toolkit (gtk in our case) as David
>> mentioned. As there are benefits and drawbacks to each approach, please
>> let me tell you a bit of the design decisions that have gone into the
>> N800 virtual keyboard (VKB).
> Thank you, it is always very interesting to hear the reasons behind the
> design decisions.
>> An X level VKB closely emulates a hardware keyboard; you press a key on
>> the VKB and an X event is generated. From an application point of view
>> there is no distinction whether the key press is generated by the VKB or
>> a physical keyboard, therefore an X level VKB has the advantage that it
>> will work with just about any application.
> Just to clarify, when you're talking about the X level, do you mean XIM,
> synthetic events, or XTest?

xkbd and matchbox-keyboard both use XTest which is limited into
synthetizing X key events.

Hildon keyboard communicates (through X messages sending UTF-8 strings
I think) with the application text widget GTK IM context object(s).
It doesn't use XIM.

If you want to use XIM input method on Maemo, you could try
adding the standard Gtk im-xim entry to /etc/gtk-2.0/gtk.immodules
(and maybe removing the hildon-im-module entry) and the corresponding
standard Gtk im-xim IM module library to /usr/lib/gtk-2.0/2.*/immodules/
directory. And then of course porting & running some XIM input method
daemon on the device.

If you're interested about SCIM, check this:

	- Eero

More information about the maemo-users mailing list