IMContext
GtkIMContext
defines the interface for GTK input methods.
GtkIMContext
is used by GTK text input widgets like GtkText
to map from key events to Unicode character strings.
An input method may consume multiple key events in sequence before finally outputting the composed result. This is called preediting, and an input method may provide feedback about this process by displaying the intermediate composition states as preedit text. To do so, the GtkIMContext
will emit signal@Gtk.IMContext::preedit-start, signal@Gtk.IMContext::preedit-changed and signal@Gtk.IMContext::preedit-end signals.
For instance, the built-in GTK input method class@Gtk.IMContextSimple implements the input of arbitrary Unicode code points by holding down the Control and Shift keys and then typing u followed by the hexadecimal digits of the code point. When releasing the Control and Shift keys, preediting ends and the character is inserted as text. For example,
Ctrl+Shift+u 2 0 A C
results in the € sign.
Additional input methods can be made available for use by GTK widgets as loadable modules. An input method module is a small shared library which provides a GIOExtension
for the extension point named "gtk-im-module".
To connect a widget to the users preferred input method, you should use class@Gtk.IMMulticontext.
Skipped during bindings generation
parameter
str
: str: Out parameter is not supportedparameter
text
: text: Out parameter is not supportedparameter
text
: text: Out parameter is not supportedmethod
input-hints
: Property has no getter nor settermethod
input-purpose
: Property has no getter nor setter
Inheritors
Constructors
Functions
Requests the platform to show an on-screen keyboard for user input.
The ::commit signal is emitted when a complete input sequence has been entered by the user.
The ::delete-surrounding signal is emitted when the input method needs to delete all or part of the context surrounding the cursor.
The ::preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed.
The ::preedit-end signal is emitted when a preediting sequence has been completed or canceled.
The ::preedit-start signal is emitted when a new preediting sequence starts.
The ::retrieve-surrounding signal is emitted when the input method requires the context surrounding the cursor.
Asks the widget that the input context is attached to delete characters around the cursor position by emitting the ::delete_surrounding
signal.
Allow an input method to forward key press and release events to another input method without necessarily having a GdkEvent
available.
Allow an input method to internally handle key press and release events.
Set the client widget for the input context.
Notify the input method that a change in cursor position has been made.
Sets surrounding context around the insertion point and preedit string.
Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the signal@Gtk.IMContext::retrieve_surrounding signal, and will likely have no effect if called at other times.
Sets whether the IM context should use the preedit string to display feedback.