[maemo-developers] [maemo-developers] N800/Newton comparison

From: Sean Luke sean at cs.gmu.edu
Date: Fri Feb 2 20:38:39 EET 2007
On Feb 2, 2007, at 11:33 AM, Daniel Elstner wrote:

> OK, that was just one example.  Another is that GTK+ (with Pango) has
> really sweet support for Unicode and complicated scripts.  The comment
> that "GTK+ supposedly handles Unicode" makes it sound as though its
> support were rather limited or not working.

My bad.  By "supposedly" I meant "as far as I've been told".  I've  
edited the article appropriately.

> http://developer.gnome.org/doc/API/2.0/gtk/GtkIMContext.html
> It'll probably require some hackery to make the handwriting  
> recognition
> send status tokens or something by means of faked key press events,  
> but
> from then on things can be handled by the input module.  The  
> application
> will get plain text from it in any case.

Help me out here.  I'm poking around with this object and trying to  
get a handle on it: google is not being a friend.  :-(  My guess  
after staring at it for a while is that a GtkIMContext is an  
intermediary of some sort between the focused widget and the current  
entry method (keyboard, handwriting, whatever).  It think the  
interesting method here is gtk_im_context_get_preedit_string(), which  
I think is what lets apps update certain text regions to reflect the  
handwriting string as it changes.  So that's clearly more than just  
keystroke events.  So this means I probably could hack an input  
method overcomes #1 in my previous message.

This leaves #2: direct entry.  That's not a big deal really, but it'd  
sure be fun.

So some items I don't know about yet:

	- Could the N800 support multiple simultaneous methods of entry -- a  
keyboard and a Chinese character entry field -- onscreen and  
*running* at the same time?  Or does GTK expect there to be a single  
entry mechanism at a time?

	- Can the input method be overridden?  For example, someone might be  
able to answer this immediately for me: if a bluetooth keyboard is  
connected, does clicking on a text field still bring up the software  
keyboard?  If I constructed some other input procedure -- a  
(hypothetical) ever-present small floating panel, say, or speech  
recognition mechanism, and I click in a text area of a typical  
application, can I force the keyboard to not pop up?

I have to mull over whether this may be worthwhile working on.  I've  
got another fun app idea cooking that might steal my available time.

Sean, who's been pleasantly surprised with python 2.5 on the box...

More information about the maemo-developers mailing list