gtk/modules/input
Matthias Clasen ebd28de588 XIM: gracefully deal with non-X backends
Patch by Young-Ho Cha, bug 660309.
2011-12-29 23:43:51 -05:00
..
gtkimcontextime.c Avoid a crash in gtk_im_context_ime_reset 2011-06-06 19:33:23 -04:00
gtkimcontextime.h
gtkimcontextmultipress.c
gtkimcontextmultipress.h
gtkimcontextthai.c
gtkimcontextthai.h
gtkimcontextxim.c XIM: gracefully deal with non-X backends 2011-12-29 23:43:51 -05:00
gtkimcontextxim.h
im-multipress.conf
imam-et.c
imcedilla.c
imcyrillic-translit.c
imime.c
iminuktitut.c
imipa.c
imm-extra.h
immultipress.c
imthai.c
imti-er.c
imti-et.c
imviqr.c
imxim.c
Makefile.am Drop DISABLE_DEPRECATED guards here, too 2011-11-01 23:22:06 -04:00
README.multipress
thai-charprop.c
thai-charprop.h

*** Introduction

This is a GTK+ input method which allows text entry via the multi-press method, 
as on a mobile phone. When this has been installed, you can choose the "Multipress" 
menu item from the "Input Methods" submenu when right-clicking in a GTK+ text entry 
area. 

For instance:
- press a to get a, then wait 1 second for the character to be accepted.
or
- press dd to get e, then wait 1 second for the character to be accepted.
or
- press ad to get ad, then wait 1 second for the d character to be accepted.


*** Configuration

Edit the im-multipress.conf to define the keypresses needed to input particular characters.
This file is in GKeyFile-format, and contains explanatory comments.


*** Per-widget deactivation

When the input method is active (either by choosing it from the context menu, or 
by defining the default language as "*" in immultipress.c), the multipress 
behaviour can be turned off for individual widgets, like so:

  g_object_set_data(G_OBJECT(yourwidget), "multipress-passthrough-flag", GINT_TO_POINTER(1));


For a C++ gtkmm project, you could make a convenience function to do this. For instance:

  void multipress_deactivate(Gtk::Widget& widget)
  {
    static const Glib::Quark quark ("multipress-passthrough-flag");
    widget.set_data(quark, GINT_TO_POINTER(1));
  }

*** Contact

Please contact Openismus for assistance with this input method. You can email murrayc@openismus.com

Copyright 2006-2007, Openismus GmbH