Shift key is eaten somwhere. . . . .



Hello --

I am working on incorporating the GtkExtra 2.0 spreadsheet widget
(GtkSheet) into an application.  GtkExtra includes a source file,
gtkitementry, which incorporates & modifies some of the functionality
of gtkentry.  (GtkExtra 2.0 is on gtkextra.sf.net in CVS, BTW.)

I am having a problem where I can enter lower case text, but upper
case text (i.e. with the shift key pressed) disappears.  I am trying
to use gtk_im_context_simple as my input method.

I have traced the program flow around, and it seems that I manage to
get to gtk_im_context_simple_filter_keypress -- which detects all key
events -- but when the key release event is detected, 
in_hex_sequence == 0, and gtk_im_context_simple_filter_keypress
returns FALSE without emitting the "commit" signal.  

Questions:

*  Is this the correct behavior?

*  If so, how does a capital letter get committed?  Can you please
describe (in general terms) the sequence of events & fcn calls which
result in a capital letter getting committed? 

*  Is there a better input method to use?  That is, is
im_context_simple known to be buggy?  I am new to GTK programming, so
please forgive my ignorance.

*  What does in_hex_sequence do, anyway?  It looks to me like it is a
flag saying that you are in the middle of a multi-key char entry,
probably for I18N. 

*  It looks to me like I am having a problem with I18N.  Do I need to
init anything special in order to make I18N work?  All I want is to
run my app as an English-language app with no non-English chars so it
should be a no-brainer, right? 


BTW:  I am writing against GTK+-2.4.3 and Glib-2.4.2, although I see
the same problem with GTK+-2.4.4 and Glib-2.4.4. 


Stuart



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]