gtk2/modules/input
Emmanuele Bassi 888dfe499d Drop the Big GDK Lock
GDK has a lock to mark critical sections inside the backends.
Additionally, code that would re-enter into the GTK main loop was
supposed to hold the lock.

Back in the Good Old Days™ this was guaranteed to kind of work only on
the X11 backend, and would cause a neat explosion on any other GDK
backend.

During GTK+ 3.x we deprecated the API to enter and leave the critical
sections, and now we can remove all the internal uses of the lock, since
external API that uses GTK+ 4.x won't be able to hold the GDK lock.

https://bugzilla.gnome.org/show_bug.cgi?id=793124
2018-02-03 12:07:10 +01:00
..
gtkimcontextime.c gtkimcontextime.c: Fix call to gtk_style_context_get() 2017-11-21 14:16:06 +08:00
gtkimcontextime.h input/IME: Defer the emit of the "commit" signal 2017-10-30 14:33:06 +08:00
gtkimcontextmultipress.c Drop the Big GDK Lock 2018-02-03 12:07:10 +01:00
gtkimcontextmultipress.h Change FSF Address 2012-02-27 17:06:11 +00:00
gtkimcontextthai.c im context thai: Stop using gdk_beep 2017-11-16 22:09:44 -05:00
gtkimcontextthai.h Change FSF Address 2012-02-27 17:06:11 +00:00
gtkimcontextxim.c xim: Stop using ::configure-event 2018-01-16 14:14:10 -05:00
gtkimcontextxim.h Change FSF Address 2012-02-27 17:06:11 +00:00
im-multipress.conf Remove the namespace prefix from functions defined locally only. Clean up 2009-01-16 15:02:06 +00:00
imam-et.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imbroadway.c imcontext: Remove API dependency on GdkWindow 2017-05-25 16:25:58 +02:00
imcedilla.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imcyrillic-translit.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imime.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
iminuktitut.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imipa.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imm-extra.h Change FSF Address 2012-02-27 17:06:11 +00:00
immultipress.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imquartz.c Duplicate the TIC strings before NULLing the GObject data. 2017-08-08 23:21:55 +03:00
imthai.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imti-er.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imti-et.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imviqr.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
imxim.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
meson.build build: Use get_pkgconfig_variable() 2017-05-03 15:10:57 +01:00
README.multipress Maintenance of Multipress input method by Openismus GmbH: 2008-12-10 11:58:37 +00:00
thai-charprop.c Remove the broken Thai input method and add a functional Thai and Lao 2006-11-29 01:14:04 +00:00
thai-charprop.h Change FSF Address 2012-02-27 17:06:11 +00:00

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