gtk/modules/input
Luca Bacci f003609d35 GtkIMContextIME: Avoid committing NULL string
We may get invalid UTF-16 sequences when third party
apps or hooks inject WM_CHAR messages.

Validate the unicode string before committing.

Fixes https://gitlab.com/inkscape/inkscape/-/issues/2088
2024-04-22 14:53:12 +02:00
..
gtkimcontextime.c GtkIMContextIME: Avoid committing NULL string 2024-04-22 14:53:12 +02:00
gtkimcontextime.h input/IME: Defer the emit of the "commit" signal 2017-10-30 14:33:23 +08:00
gtkimcontextmultipress.c multipress: Only emit preedit signals if needed 2015-08-18 15:44:45 -04:00
gtkimcontextmultipress.h Change FSF Address 2012-02-27 17:06:11 +00:00
gtkimcontextthai.c modules/input/gtkimcontextthai: Remove deprecated gdk_beep 2018-07-20 15:39:49 +09:00
gtkimcontextthai.h Change FSF Address 2012-02-27 17:06:11 +00:00
gtkimcontextxim.c Ensure we have a client window before using it 2019-11-16 20:57:43 +00: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 Make gtk-im-context-none work 2015-02-23 22:06:02 -05: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 Use native Windows API for converting keystrokes to characters 2020-07-16 15:01:47 +02: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 [quartz] Ensure valid GdkWindowImplQuartz references. 2022-06-09 13:22:59 -07: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 Do not use VIQR input method for vi locale by default 2019-11-16 20:16:55 +00:00
imwayland.c gtkimcontextwayland: Convert byte based offset to char based offset in delete_surrounding_text 2022-12-20 09:46:52 +08:00
imxim.c Make gtk-im-context-none work 2015-02-23 22:06:02 -05:00
meson.build Meson: Use gnome.post_install 2022-01-14 17:30:35 +01:00
README.multipress Maintenance of Multipress input method by Openismus GmbH: 2008-12-10 11:58:37 +00:00
text-input-unstable-v3.xml imwayland: Add text-input-unstable-v3 support 2018-07-30 20:27:22 +02: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