### Class

# Gtk IMContextSimple

since: 4.0

#### Description [src]

    class Gtk.IMContextSimple : Gtk.IMContext
    {
      /* No available fields */
    }

`GtkIMContextSimple` is an input method supporting table-based input methods.

## Compose sequences

`GtkIMContextSimple` reads compose sequences from the first of the following files that is found: ~/.config/gtk-4.0/Compose, ~/.XCompose, /usr/share/X11/locale/$locale/Compose (for locales that have a nontrivial Compose file). A subset of the file syntax described in the Compose(5) manual page is supported. Additionally, `include "`L`"` loads GTK’s built-in table of compose sequences rather than the locale-specific one from X11.

If none of these files is found, `GtkIMContextSimple` uses a built-in table of compose sequences that is derived from the X11 Compose files.

Note that compose sequences typically start with the Compose_key, which is often not available as a dedicated key on keyboards. Keyboard layouts may map this keysym to other keys, such as the right Control key.

## Unicode characters

`GtkIMContextSimple` also supports numeric entry of Unicode characters by typing `Ctrl`-`Shift`-`u`, followed by a hexadecimal Unicode codepoint.

For example,

    Ctrl-Shift-u 1 2 3 Enter

yields U+0123 LATIN SMALL LETTER G WITH CEDILLA, i.e. ģ.

## Dead keys

`GtkIMContextSimple` supports dead keys. For example, typing

    dead_acute a

yields U+00E! LATIN SMALL LETTER_A WITH ACUTE, i.e. á. Note that this depends on the keyboard layout including dead keys.

Available since: 4.0

#### Ancestors

- GtkIMContext
- GObject

#### Constructors

###### gtk_im_context_simple_new

Creates a new `GtkIMContextSimple`.

since: 4.0

#### Instance methods

###### gtk_im_context_simple_add_compose_file

Adds an additional table from the X11 compose file.

since: 4.0

###### gtk_im_context_simple_add_table

Adds an additional table to search to the input context. Each row of the table consists of `max_seq_len` key symbols followed by two #guint16 interpreted as the high and low words of a #gunicode value. Tables are searched starting from the last added.

deprecated: 4.4 since: 4.0

##### Methods inherited from GtkIMContext (15)

###### gtk_im_context_activate_osk

Requests the platform to show an on-screen keyboard for user input.

since: 4.14

###### gtk_im_context_delete_surrounding

Asks the widget that the input context is attached to delete characters around the cursor position by emitting the `::delete_surrounding` signal.

since: 4.0

###### gtk_im_context_filter_key

Allow an input method to forward key press and release events to another input method without necessarily having a `GdkEvent` available.

since: 4.0

###### gtk_im_context_filter_keypress

Allow an input method to internally handle key press and release events.

since: 4.0

###### gtk_im_context_focus_in

Notify the input method that the widget to which this input context corresponds has gained focus.

since: 4.0

###### gtk_im_context_focus_out

Notify the input method that the widget to which this input context corresponds has lost focus.

since: 4.0

###### gtk_im_context_get_preedit_string

Retrieve the current preedit string for the input context, and a list of attributes to apply to the string.

since: 4.0

###### gtk_im_context_get_surrounding

Retrieves context around the insertion point.

deprecated: 4.2 since: 4.0

###### gtk_im_context_get_surrounding_with_selection

Retrieves context around the insertion point.

since: 4.2

###### gtk_im_context_reset

Notify the input method that a change such as a change in cursor position has been made.

since: 4.0

###### gtk_im_context_set_client_widget

Set the client widget for the input context.

since: 4.0

###### gtk_im_context_set_cursor_location

Notify the input method that a change in cursor position has been made.

since: 4.0

###### gtk_im_context_set_surrounding

Sets surrounding context around the insertion point and preedit string.

deprecated: 4.2 since: 4.0

###### gtk_im_context_set_surrounding_with_selection

Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the `GtkIMContext::retrieve-surrounding` signal, and will likely have no effect if called at other times.

since: 4.2

###### gtk_im_context_set_use_preedit

Sets whether the IM context should use the preedit string to display feedback.

since: 4.0

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

##### Properties inherited from GtkIMContext (2)

###### Gtk.IMContext:input-hints

Additional hints that allow input methods to fine-tune their behaviour.

since: 4.0

###### Gtk.IMContext:input-purpose

The purpose of the text field that the `GtkIMContext is connected to.

since: 4.0

#### Signals

##### Signals inherited from GtkIMContext (6)

###### GtkIMContext::commit

The ::commit signal is emitted when a complete input sequence has been entered by the user.

since: 4.0

###### GtkIMContext::delete-surrounding

The ::delete-surrounding signal is emitted when the input method needs to delete all or part of the context surrounding the cursor.

since: 4.0

###### GtkIMContext::preedit-changed

The ::preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed.

since: 4.0

###### GtkIMContext::preedit-end

The ::preedit-end signal is emitted when a preediting sequence has been completed or canceled.

since: 4.0

###### GtkIMContext::preedit-start

The ::preedit-start signal is emitted when a new preediting sequence starts.

since: 4.0

###### GtkIMContext::retrieve-surrounding

The ::retrieve-surrounding signal is emitted when the input method requires the context surrounding the cursor.

since: 4.0

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

since: 2.0

#### Class structure

    struct GtkIMContextSimpleClass {
      GtkIMContextClass parent_class;

    }

No description available.

###### Class members

`parent_class: GtkIMContextClass`
  No description available.