| Top |  |  |  |  | 
| enum | IBusModifierType | 
| enum | IBusCapabilite | 
| enum | IBusPreeditFocusMode | 
| enum | IBusOrientation | 
| enum | IBusBusNameFlag | 
| enum | IBusBusRequestNameReply | 
| enum | IBusBusStartServiceByNameReply | 
| enum | IBusError | 
| struct | IBusRectangle | 
| enum | IBusInputPurpose | 
| enum | IBusInputHints | 
This section consists generic types for IBus, including shift/control key modifiers, and a rectangle structure.
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. | 
Capability flags of UI.
struct IBusRectangle {
    gint x;
    gint y;
    gint width;
    gint height;
};
Rectangle definition.
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  | ||
| Like  | 
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). | ||
| The text is vertical. |