## ibustypes ibustypes — Generic types for IBus. |

## Stability Level

Stable, unless otherwise indicated

## Functions

void | (*IBusFreeFunc) ()

## Types and Values

enum | IBusModifierType
enum | IBusCapabilite
enum | IBusPreeditFocusMode
enum | IBusOrientation
enum | IBusBusNameFlag
enum | IBusBusRequestNameReply
enum | IBusBusStartServiceByNameReply
enum | IBusError
struct | IBusRectangle
enum | IBusInputPurpose
enum | IBusInputHints

## Object Hierarchy

        GEnum
        ╰── IBusOrientation
        GFlags
        ├── IBusCapabilite
        ╰── IBusModifierType

## Description

This section consists generic types for IBus, including shift/control key modifiers, and a rectangle structure.

## Functions

### IBusFreeFunc ()

    void
    (*IBusFreeFunc) (gpointer object);

Free function prototype.

#### Parameters

object | object to be freed. |

## Types and Values

### enum IBusModifierType

Handles key modifier such as control, shift and alt and release event. Note that nits 15 - 25 are currently unused, while bit 29 is used internally.

#### Members

IBUS_SHIFT_MASK | Shift is activated. |
IBUS_LOCK_MASK | Cap Lock is locked. |
IBUS_CONTROL_MASK | Control key is activated. |
IBUS_MOD1_MASK | Modifier 1 (Usually Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)) activated. |
IBUS_MOD2_MASK | Modifier 2 (Usually Num_Lock (0x4d)) activated. |
IBUS_MOD3_MASK | Modifier 3 activated. |
IBUS_MOD4_MASK | Modifier 4 (Usually Super_L (0xce), Hyper_L (0xcf)) activated. |
IBUS_MOD5_MASK | Modifier 5 (ISO_Level3_Shift (0x5c), Mode_switch (0xcb)) activated. |
IBUS_BUTTON1_MASK | Mouse button 1 (left) is activated. |
IBUS_BUTTON2_MASK | Mouse button 2 (middle) is activated. |
IBUS_BUTTON3_MASK | Mouse button 3 (right) is activated. |
IBUS_BUTTON4_MASK | Mouse button 4 (scroll up) is activated. |
IBUS_BUTTON5_MASK | Mouse button 5 (scroll down) is activated. |
IBUS_HANDLED_MASK | Handled mask indicates the event has been handled by ibus. |
IBUS_FORWARD_MASK | Forward mask indicates the event has been forward from ibus. |
IBUS_IGNORED_MASK | It is an alias of IBUS_FORWARD_MASK. |
IBUS_SUPER_MASK | Super (Usually Win) key is activated. |
IBUS_HYPER_MASK | Hyper key is activated. |
IBUS_META_MASK | Meta key is activated. |
IBUS_RELEASE_MASK | Key is released. |
IBUS_MODIFIER_MASK | Modifier mask for the all the masks above. |

### enum IBusCapabilite

Capability flags of UI.

#### Members

IBUS_CAP_PREEDIT_TEXT | UI is capable to show pre-edit text. |
IBUS_CAP_AUXILIARY_TEXT | UI is capable to show auxiliary text. |
IBUS_CAP_LOOKUP_TABLE | UI is capable to show the lookup table. |
IBUS_CAP_FOCUS | UI is capable to get focus. |
IBUS_CAP_PROPERTY | UI is capable to have property. |
IBUS_CAP_SURROUNDING_TEXT | Client can provide surround text, or IME can handle surround text. |

### enum IBusPreeditFocusMode

Pre-edit commit mode when the focus is lost.

#### Members

IBUS_ENGINE_PREEDIT_CLEAR | pre-edit text is cleared. |
IBUS_ENGINE_PREEDIT_COMMIT | pre-edit text is committed. |

### enum IBusOrientation

Orientation of UI.

#### Members

IBUS_ORIENTATION_HORIZONTAL | Horizontal orientation. |
IBUS_ORIENTATION_VERTICAL | Vertival orientation. |
IBUS_ORIENTATION_SYSTEM | Use ibus global orientation setup. |

### enum IBusBusNameFlag

#### Members

IBUS_BUS_NAME_FLAG_ALLOW_REPLACEMENT | same as DBUS_NAME_FLAG_ALLOW_REPLACEMENT |
IBUS_BUS_NAME_FLAG_REPLACE_EXISTING | same as DBUS_NAME_FLAG_REPLACE_EXISTING |
IBUS_BUS_NAME_FLAG_DO_NOT_QUEUE | same as DBUS_NAME_FLAG_DO_NOT_QUEUE |

### enum IBusBusRequestNameReply

#### Members

IBUS_BUS_REQUEST_NAME_REPLY_PRIMARY_OWNER | same as DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER |
IBUS_BUS_REQUEST_NAME_REPLY_IN_QUEUE | same as DBUS_REQUEST_NAME_REPLY_IN_QUEUE |
IBUS_BUS_REQUEST_NAME_REPLY_EXISTS | same as DBUS_REQUEST_NAME_REPLY_EXISTS |
IBUS_BUS_REQUEST_NAME_REPLY_ALREADY_OWNER | same as DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER |

### enum IBusBusStartServiceByNameReply

#### Members

IBUS_BUS_START_REPLY_SUCCESS | same as DBUS_START_REPLY_SUCCESS |
IBUS_BUS_START_REPLY_ALREADY_RUNNING | same as DBUS_START_REPLY_ALREADY_RUNNING |

### enum IBusError

#### Members

IBUS_ERROR_NO_ENGINE | There is no engine associated with input context. |
IBUS_ERROR_NO_CONFIG | There is no config module running. |
IBUS_ERROR_FAILED | General failure. |

### struct IBusRectangle

    struct IBusRectangle {
        gint x;
        gint y;
        gint width;
        gint height;
    };

Rectangle definition.

#### Members

gint `x`; | x coordinate. |
gint `y`; | y coordinate. |
gint `width`; | width of the rectangle. |
gint `height`; | height of the renctangl. |

### enum IBusInputPurpose

Describes primary purpose of the input context. This information is particularly useful to implement intelligent behavior in engines, such as automatic input-mode switch and text prediction.

This enumeration may be extended in the future; engines should interpret unknown values as 'free form'.

#### Members

IBUS_INPUT_PURPOSE_FREE_FORM | Allow any character |
IBUS_INPUT_PURPOSE_ALPHA | Allow only alphabetic characters |
IBUS_INPUT_PURPOSE_DIGITS | Allow only digits |
IBUS_INPUT_PURPOSE_NUMBER | Edited field expects numbers |
IBUS_INPUT_PURPOSE_PHONE | Edited field expects phone number |
IBUS_INPUT_PURPOSE_URL | Edited field expects URL |
IBUS_INPUT_PURPOSE_EMAIL | Edited field expects email address |
IBUS_INPUT_PURPOSE_NAME | Edited field expects the name of a person |
IBUS_INPUT_PURPOSE_PASSWORD | Like `IBUS_INPUT_PURPOSE_FREE_FORM` , but characters are hidden |
IBUS_INPUT_PURPOSE_PIN | Like `IBUS_INPUT_PURPOSE_DIGITS` , but characters are hidden |

### enum IBusInputHints

Describes hints that might be taken into account by engines. Note that engines may already tailor their behaviour according to the IBusInputPurpose of the entry.

#### Members

IBUS_INPUT_HINT_NONE | No special behaviour suggested |
IBUS_INPUT_HINT_SPELLCHECK | Suggest checking for typos |
IBUS_INPUT_HINT_NO_SPELLCHECK | Suggest not checking for typos |
IBUS_INPUT_HINT_WORD_COMPLETION | Suggest word completion |
IBUS_INPUT_HINT_LOWERCASE | Suggest to convert all text to lowercase |
IBUS_INPUT_HINT_UPPERCASE_CHARS | Suggest to capitalize all text |
IBUS_INPUT_HINT_UPPERCASE_WORDS | Suggest to capitalize the first character of each word |
IBUS_INPUT_HINT_UPPERCASE_SENTENCES | Suggest to capitalize the first word of each sentence |
IBUS_INPUT_HINT_INHIBIT_OSK | Suggest to not show an onscreen keyboard (e.g for a calculator that already has all the keys). |
IBUS_INPUT_HINT_VERTICAL_WRITING | The text is vertical. |