| IBus Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
enum IBusModifierType;
enum IBusCapabilite;
enum IBusPreeditFocusMode;
enum IBusOrientation;
enum IBusBusNameFlag;
enum IBusBusRequestNameReply;
enum IBusBusStartServiceByNameReply;
enum IBusError;
struct IBusRectangle;
void (*IBusFreeFunc) (gpointer object);
enum IBusInputPurpose;
enum IBusInputHints;
This section consists generic types for IBus, including shift/control key modifiers, and a rectangle structure.
typedef enum {
IBUS_SHIFT_MASK = 1 << 0,
IBUS_LOCK_MASK = 1 << 1,
IBUS_CONTROL_MASK = 1 << 2,
IBUS_MOD1_MASK = 1 << 3,
IBUS_MOD2_MASK = 1 << 4,
IBUS_MOD3_MASK = 1 << 5,
IBUS_MOD4_MASK = 1 << 6,
IBUS_MOD5_MASK = 1 << 7,
IBUS_BUTTON1_MASK = 1 << 8,
IBUS_BUTTON2_MASK = 1 << 9,
IBUS_BUTTON3_MASK = 1 << 10,
IBUS_BUTTON4_MASK = 1 << 11,
IBUS_BUTTON5_MASK = 1 << 12,
/* The next few modifiers are used by XKB, so we skip to the end.
* Bits 15 - 23 are currently unused. Bit 29 is used internally.
*/
/* ibus mask */
IBUS_HANDLED_MASK = 1 << 24,
IBUS_FORWARD_MASK = 1 << 25,
IBUS_IGNORED_MASK = IBUS_FORWARD_MASK,
IBUS_SUPER_MASK = 1 << 26,
IBUS_HYPER_MASK = 1 << 27,
IBUS_META_MASK = 1 << 28,
IBUS_RELEASE_MASK = 1 << 30,
IBUS_MODIFIER_MASK = 0x5f001fff
} 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.
| Shift is activated. | |
| Cap Lock is locked. | |
| Control key is activated. | |
| Modifier 1 (Usually Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)) activated. | |
| Modifier 2 (Usually Num_Lock (0x4d)) activated. | |
| Modifier 3 activated. | |
| Modifier 4 (Usually Super_L (0xce), Hyper_L (0xcf)) activated. | |
| Modifier 5 (ISO_Level3_Shift (0x5c), Mode_switch (0xcb)) activated. | |
| Mouse button 1 (left) is activated. | |
| Mouse button 2 (middle) is activated. | |
| Mouse button 3 (right) is activated. | |
| Mouse button 4 (scroll up) is activated. | |
| Mouse button 5 (scroll down) is activated. | |
| Handled mask indicates the event has been handled by ibus. | |
| Forward mask indicates the event has been forward from ibus. | |
| It is an alias of IBUS_FORWARD_MASK. | |
| Super (Usually Win) key is activated. | |
| Hyper key is activated. | |
| Meta key is activated. | |
| Key is released. | |
| Modifier mask for the all the masks above. |
typedef enum {
IBUS_CAP_PREEDIT_TEXT = 1 << 0,
IBUS_CAP_AUXILIARY_TEXT = 1 << 1,
IBUS_CAP_LOOKUP_TABLE = 1 << 2,
IBUS_CAP_FOCUS = 1 << 3,
IBUS_CAP_PROPERTY = 1 << 4,
IBUS_CAP_SURROUNDING_TEXT = 1 << 5,
} IBusCapabilite;
Capability flags of UI.
| UI is capable to show pre-edit text. | |
| UI is capable to show auxiliary text. | |
| UI is capable to show the lookup table. | |
| UI is capable to get focus. | |
| UI is capable to have property. | |
| Client can provide surround text, or IME can handle surround text. |
typedef enum {
IBUS_ENGINE_PREEDIT_CLEAR = 0,
IBUS_ENGINE_PREEDIT_COMMIT = 1,
} IBusPreeditFocusMode;
Pre-edit commit mode when the focus is lost.
typedef enum {
IBUS_ORIENTATION_HORIZONTAL = 0,
IBUS_ORIENTATION_VERTICAL = 1,
IBUS_ORIENTATION_SYSTEM = 2,
} IBusOrientation;
Orientation of UI.
typedef enum {
IBUS_BUS_NAME_FLAG_ALLOW_REPLACEMENT = (1 << 0),
IBUS_BUS_NAME_FLAG_REPLACE_EXISTING = (1 << 1),
IBUS_BUS_NAME_FLAG_DO_NOT_QUEUE = (1 << 2),
} IBusBusNameFlag;
typedef enum {
IBUS_BUS_REQUEST_NAME_REPLY_PRIMARY_OWNER = 1,
IBUS_BUS_REQUEST_NAME_REPLY_IN_QUEUE = 2,
IBUS_BUS_REQUEST_NAME_REPLY_EXISTS = 3,
IBUS_BUS_REQUEST_NAME_REPLY_ALREADY_OWNER = 4,
} IBusBusRequestNameReply;
| same as DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER | |
| same as DBUS_REQUEST_NAME_REPLY_IN_QUEUE | |
| same as DBUS_REQUEST_NAME_REPLY_EXISTS | |
| same as DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER |
typedef enum {
IBUS_BUS_START_REPLY_SUCCESS = 1,
IBUS_BUS_START_REPLY_ALREADY_RUNNING = 2,
} IBusBusStartServiceByNameReply;
typedef enum {
IBUS_ERROR_NO_ENGINE,
IBUS_ERROR_NO_CONFIG,
IBUS_ERROR_FAILED
} IBusError;
struct IBusRectangle {
gint x;
gint y;
gint width;
gint height;
};
Rectangle definition.
void (*IBusFreeFunc) (gpointer object);
Free function prototype.
|
object to be freed. |
typedef enum {
IBUS_INPUT_PURPOSE_FREE_FORM,
IBUS_INPUT_PURPOSE_ALPHA,
IBUS_INPUT_PURPOSE_DIGITS,
IBUS_INPUT_PURPOSE_NUMBER,
IBUS_INPUT_PURPOSE_PHONE,
IBUS_INPUT_PURPOSE_URL,
IBUS_INPUT_PURPOSE_EMAIL,
IBUS_INPUT_PURPOSE_NAME,
IBUS_INPUT_PURPOSE_PASSWORD,
IBUS_INPUT_PURPOSE_PIN
} 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'.
| Allow any character | |
| Allow only alphabetic characters | |
| Allow only digits | |
| Edited field expects numbers | |
| Edited field expects phone number | |
| Edited field expects URL | |
| Edited field expects email address | |
| Edited field expects the name of a person | |
Like IBUS_INPUT_PURPOSE_FREE_FORM,
but characters are hidden
|
|
Like IBUS_INPUT_PURPOSE_DIGITS, but
characters are hidden
|
typedef enum {
IBUS_INPUT_HINT_NONE = 0,
IBUS_INPUT_HINT_SPELLCHECK = 1 << 0,
IBUS_INPUT_HINT_NO_SPELLCHECK = 1 << 1,
IBUS_INPUT_HINT_WORD_COMPLETION = 1 << 2,
IBUS_INPUT_HINT_LOWERCASE = 1 << 3,
IBUS_INPUT_HINT_UPPERCASE_CHARS = 1 << 4,
IBUS_INPUT_HINT_UPPERCASE_WORDS = 1 << 5,
IBUS_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6,
IBUS_INPUT_HINT_INHIBIT_OSK = 1 << 7
} 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.
| No special behaviour suggested | |
| Suggest checking for typos | |
| Suggest not checking for typos | |
| Suggest word completion | |
| Suggest to convert all text to lowercase | |
| Suggest to capitalize all text | |
| Suggest to capitalize the first character of each word | |
| Suggest to capitalize the first word of each sentence | |
| Suggest to not show an onscreen keyboard (e.g for a calculator that already has all the keys). |