[SCIM] gtk IM & reset ...

Zhe Su james.su at gmail.com
Mon Dec 13 08:54:50 PST 2004


Hi,
  I found that when using gtk immodule, OOo will not ignore the key
release events which have no corresponding key press events. This will
cause strange behaviour when using some scim imengines which will
forward the key release events back to client instead of just
swallowing them. For example scim-m17n and scim-anthy.
  I think this should be fix in OOo side, because other apps don't
have such behaviour.

Regards
James Su


On Tue, 14 Dec 2004 00:31:55 +0800, Zhe Su <james.su at gmail.com> wrote:
> Hi,
>   So, which input method engine are you using? scim gtk immodule
> itself should have no problem. The code is ok.
> 
> Regards
> James Su
> 
> 
> 
> 
> On Mon, 13 Dec 2004 15:54:05 +0000, michael meeks <mmeeks at novell.com> wrote:
> > Hi guys,
> >
> >         So - I'm having some acutely painful experience with SCIM & it's
> > (apparent) problems with it's implementation of gtk_im_context_reset:
> >
> > extras/gtk2_immodule/gtkimcontextscim.cxx (gtk_im_context_scim_reset):
> >
> > static void
> > gtk_im_context_scim_reset (GtkIMContext *context)
> > {
> >     SCIM_DEBUG_FRONTEND(1) << "gtk_im_context_scim_reset...\n";
> >
> >     GtkIMContextSCIM *context_scim = GTK_IM_CONTEXT_SCIM (context);
> >
> >     if (context_scim && context_scim->impl && context_scim ==
> > _focused_ic) {
> >         panel_prepare_transaction (context_scim);
> >         _backend->reset (context_scim->impl->id);
> >         panel_send_request (context_scim);
> >     }
> > }
> >
> >         Contrast this to:
> >
> > gtk+/modules/input/gtkimcontextxim.cxx (gtk_im_context_xim_reset):
> >
> >         Which explicitely emits a 'Preedit End' type sequence: ie. a commit
> > followed by a 'preedit_changed' to a 0 length string.
> >
> >         Worse - than just not emitting the signals to commit / empty the
> > pre-edit - it appears, that the _backend->reset doesn't reset the remote
> > IM's pre-edit buffer; hence the client/server are in a confused state
> > wrt. what is in a pre-edit buffer etc.
> >
> >         This causes myriad problems; eg. on 'random mouse click' (cursor
> > movement) OO.o will attempt to first reset the IM / commit the current
> > pre-edit. While the pre-edit is committed - it appears to stay there -
> > and gets extended by subsequent, key-strokes (in a new place); and this
> > is just one example of highly sub-optimal behavior ;-)
> >
> >         Am I mis-understanding something ? or is this broken ? also - it
> > appears the download page for scim is defunct:
> >
> >         The links from here
> >                  http://www.freedesktop.org/wiki/Software_2fScimDownload
> >
> >         ugly <br> tags aside, point to inaccessible URIs - which made reading
> > your code somewhat more painful than necessary :-)
> >
> >         Thanks,
> >
> >                 Michael.
> >
> > --
> >  michael.meeks at novell.com  <><, Pseudo Engineer, itinerant idiot
> >
> > _______________________________________________
> > scim mailing list
> > scim at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/scim
> >
>


More information about the scim mailing list