[SCIM] gtk IM & reset ...

michael meeks mmeeks at novell.com
Tue Dec 14 04:27:49 PST 2004


Hi,

On Tue, 2004-12-14 at 00:54 +0800, Zhe Su wrote:
>   I found that when using gtk immodule, OOo will not ignore the key
> release events which have no corresponding key press events.

	Yes - good catch - we've fixed this bug in OO.o :-) [ or at least, IMHO
this is a rather hyper-ugly side-effect of the way gtk+ works, but we
have worked around it in OO.o ].

>   I think this should be fix in OOo side, because other apps don't
> have such behaviour.

	Sure - the reset method is also critical to us though.

> 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.

	I'm using the scim gtk2 input module. If, as you say the code is OK -
can you explain why: when we invoke this backend module reset, we do not
get the callback sequence that is expected, and we get with the
(canonical) xim input method; that sequence is (as per
gtkimcontextxim.c):

> > >         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.

	This:

static void
gtk_im_context_xim_reset (GtkIMContext *context)
{
...

  if (result)
    {
      char *result_utf8 = mb_to_utf8 (context_xim, result);
      if (result_utf8)
	{
	  g_signal_emit_by_name (context, "commit", result_utf8);
	  g_free (result_utf8);
	}
    }

  if (context_xim->preedit_length)
    {
      context_xim->preedit_length = 0;
      g_signal_emit_by_name (context, "preedit_changed");
    }

  XFree (result);
}

	There seems to be no equivalent in scim & this causes problems.

> > >         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

	also - it'd be really nice if this started working again - I guess,
more people than I have not been able to download any of the scim
source:

	http://freedesktop.org/~suzhe/sources/scim-1.0.1.tar.gz

Yields:

	Not Found
	The requested URL /~suzhe/sources/scim-1.0.1.tar.gz was
	not found on this server.

	Thanks,

		Michael.

-- 
 michael.meeks at novell.com  <><, Pseudo Engineer, itinerant idiot



More information about the scim mailing list