[maemo-developers] [maemo-developers] Bluetooth keyboard update

From: Aaron Levinson alevinsn at aracnet.com
Date: Wed Jan 18 01:14:56 EET 2006
Responses below.

Aaron

On Tue, 17 Jan 2006, Simon Budig wrote:

> Aaron Levinson (alevinsn at aracnet.com) wrote:
> > I seriously doubt that this problem has anything to do with the Hildonized
> > GTK+, considering that special characters such as the German umlaut work
> > fine in my VNC viewer port (at least with the virtual keyboard).  In
> > addition, an examination of the xterm implementation will demonstrate that
> > it makes significant use of GTK, and this is likely the case for Opera as
> > well.
> 
> Well, the Umlauts in Opera just work in the HTML widgets. The URL-bar
> and the entries in the configuration dialogs don't accept the umlauts.
> It works in the xterm window and in your VNC viewer. All they have in
> common is that they have to do their own event handling. As soon as they
> "just" use GTK+ widgets it suddenly stops working.
> 
> That IMHO smells *strongly* like a GTK+-Problem on the 770. And if I
> have to do rocket science in signal handlers I've never heard yet about
> ("commit" and "preedit-changed") to be able to use Umlauts in stock GTK+
> widgets then yes, this still is a GTK+-Problem...   :-)

I'm still highly doubtful that the problem is with the GTK widgets simply
because they work fine with special characters from the virtual keyboard
input method.  An examination of the GtkEntry class implementation
demonstrates that the only way that key input is delivered to a GtkEntry
instance is via input methods.  For instance, the gtk_entry_commit_cb()
function is the signal handler for the input method's "commit" event.  
The GtkEntry class does listen for "key-press" and "key-release" events,
but this is mainly done in order to pass the events to the input method,
and if the input method doesn't do anything with these events, as a
general rule, the text entry doesn't as well.  The reason that this works
with the VNC viewer (at least with the main widget) is that the VNC viewer
processes key-press and key-release events even if the input method
doesn't do anything with them.  But, doing so isn't required if an input
method is being used and may even be considered incorrect behavior
depending on one's perspective.

Based on these findings, it seems to me that there is probably something
wrong with the xim input method.

Aaron


More information about the maemo-developers mailing list