- Main Page
- Related Pages
- Modules
- Data Structures
- Files
- Examples

Data Structures | Typedefs | Enumerations | Functions | Variables
Ecore Input Method Context Functions
Ecore_IMF - Ecore Input Method Library Functions

Functions that operate on Ecore Input Method Context objects. More...

## Data Structures
struct | _Ecore_IMF_Event_Preedit_Start
struct | _Ecore_IMF_Event_Preedit_End
struct | _Ecore_IMF_Event_Preedit_Changed
struct | _Ecore_IMF_Event_Commit
struct | _Ecore_IMF_Event_Delete_Surrounding
struct | _Ecore_IMF_Event_Selection
struct | _Ecore_IMF_Event_Mouse_Down
struct | _Ecore_IMF_Event_Mouse_Up
struct | _Ecore_IMF_Event_Mouse_In
struct | _Ecore_IMF_Event_Mouse_Out
struct | _Ecore_IMF_Event_Mouse_Move
struct | _Ecore_IMF_Event_Mouse_Wheel
struct | _Ecore_IMF_Event_Key_Down
struct | _Ecore_IMF_Event_Key_Up
union | _Ecore_IMF_Event
struct | _Ecore_IMF_Preedit_Attr
struct | _Ecore_IMF_Context_Class
struct | _Ecore_IMF_Context_Info

## Typedefs
typedef struct _Ecore_IMF_Event_Preedit_Start | Ecore_IMF_Event_Preedit_Start
typedef struct _Ecore_IMF_Event_Preedit_End | Ecore_IMF_Event_Preedit_End
typedef struct _Ecore_IMF_Event_Preedit_Changed | Ecore_IMF_Event_Preedit_Changed
typedef struct _Ecore_IMF_Event_Commit | Ecore_IMF_Event_Commit
typedef struct _Ecore_IMF_Event_Delete_Surrounding | Ecore_IMF_Event_Delete_Surrounding
typedef struct _Ecore_IMF_Event_Selection | Ecore_IMF_Event_Selection
typedef struct _Ecore_IMF_Event_Mouse_Down | Ecore_IMF_Event_Mouse_Down
typedef struct _Ecore_IMF_Event_Mouse_Up | Ecore_IMF_Event_Mouse_Up
typedef struct _Ecore_IMF_Event_Mouse_In | Ecore_IMF_Event_Mouse_In
typedef struct _Ecore_IMF_Event_Mouse_Out | Ecore_IMF_Event_Mouse_Out
typedef struct _Ecore_IMF_Event_Mouse_Move | Ecore_IMF_Event_Mouse_Move
typedef struct _Ecore_IMF_Event_Mouse_Wheel | Ecore_IMF_Event_Mouse_Wheel
typedef struct _Ecore_IMF_Event_Key_Down | Ecore_IMF_Event_Key_Down
typedef struct _Ecore_IMF_Event_Key_Up | Ecore_IMF_Event_Key_Up
typedef union _Ecore_IMF_Event | Ecore_IMF_Event
typedef struct _Ecore_IMF_Context | Ecore_IMF_Context
| An Input Method Context.
typedef struct _Ecore_IMF_Context_Class | Ecore_IMF_Context_Class
| An Input Method Context class.
typedef struct _Ecore_IMF_Context_Info | Ecore_IMF_Context_Info
| An Input Method Context info.
typedef struct _Ecore_IMF_Preedit_Attr | Ecore_IMF_Preedit_Attr
typedef void(* | Ecore_IMF_Event_Cb )(void *data, Ecore_IMF_Context *ctx, void *event_info)

## Enumerations
enum | Ecore_IMF_Input_Panel_Event { ECORE_IMF_INPUT_PANEL_STATE_EVENT, ECORE_IMF_INPUT_PANEL_LANGUAGE_EVENT, ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT, ECORE_IMF_INPUT_PANEL_GEOMETRY_EVENT, ECORE_IMF_CANDIDATE_PANEL_STATE_EVENT, ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT }
enum | Ecore_IMF_Input_Panel_State { ECORE_IMF_INPUT_PANEL_STATE_SHOW, ECORE_IMF_INPUT_PANEL_STATE_HIDE, ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW }
enum | Ecore_IMF_Input_Panel_Shift_Mode { ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF, ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON }
enum | Ecore_IMF_Candidate_Panel_State { ECORE_IMF_CANDIDATE_PANEL_SHOW, ECORE_IMF_CANDIDATE_PANEL_HIDE }
enum | Ecore_IMF_Callback_Type { ECORE_IMF_CALLBACK_PREEDIT_START, ECORE_IMF_CALLBACK_PREEDIT_END, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, ECORE_IMF_CALLBACK_COMMIT, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, ECORE_IMF_CALLBACK_SELECTION_SET }
| Ecore IMF Event callback types. More...
enum | Ecore_IMF_Event_Type { ECORE_IMF_EVENT_MOUSE_DOWN, ECORE_IMF_EVENT_MOUSE_UP, ECORE_IMF_EVENT_MOUSE_IN, ECORE_IMF_EVENT_MOUSE_OUT, ECORE_IMF_EVENT_MOUSE_MOVE, ECORE_IMF_EVENT_MOUSE_WHEEL, ECORE_IMF_EVENT_KEY_DOWN, ECORE_IMF_EVENT_KEY_UP }
| Ecore IMF event types. More...
enum | Ecore_IMF_Keyboard_Modifiers { ECORE_IMF_KEYBOARD_MODIFIER_NONE = 0, ECORE_IMF_KEYBOARD_MODIFIER_CTRL = 1 << 0, ECORE_IMF_KEYBOARD_MODIFIER_ALT = 1 << 1, ECORE_IMF_KEYBOARD_MODIFIER_SHIFT = 1 << 2, ECORE_IMF_KEYBOARD_MODIFIER_WIN = 1 << 3, ECORE_IMF_KEYBOARD_MODIFIER_ALTGR = 1 << 4 }
| Type for Ecore_IMF keyboard modifiers. More...
enum | Ecore_IMF_Keyboard_Locks { ECORE_IMF_KEYBOARD_LOCK_NONE = 0, ECORE_IMF_KEYBOARD_LOCK_NUM = 1 << 0, ECORE_IMF_KEYBOARD_LOCK_CAPS = 1 << 1, ECORE_IMF_KEYBOARD_LOCK_SCROLL = 1 << 2 }
| Type for Ecore_IMF keyboard locks. More...
enum | Ecore_IMF_Mouse_Flags { ECORE_IMF_MOUSE_NONE = 0, ECORE_IMF_MOUSE_DOUBLE_CLICK = 1 << 0, ECORE_IMF_MOUSE_TRIPLE_CLICK = 1 << 1 }
| Type for Ecore_IMF mouse flags. More...
enum | Ecore_IMF_Input_Mode { ECORE_IMF_INPUT_MODE_ALPHA = 1 << 0, ECORE_IMF_INPUT_MODE_NUMERIC = 1 << 1, ECORE_IMF_INPUT_MODE_SPECIAL = 1 << 2, ECORE_IMF_INPUT_MODE_HEXA = 1 << 3, ECORE_IMF_INPUT_MODE_TELE = 1 << 4, ECORE_IMF_INPUT_MODE_FULL = (ECORE_IMF_INPUT_MODE_ALPHA | ECORE_IMF_INPUT_MODE_NUMERIC | ECORE_IMF_INPUT_MODE_SPECIAL), ECORE_IMF_INPUT_MODE_INVISIBLE = 1 << 29, ECORE_IMF_INPUT_MODE_AUTOCAP = 1 << 30 }
enum | Ecore_IMF_Preedit_Type { ECORE_IMF_PREEDIT_TYPE_NONE, ECORE_IMF_PREEDIT_TYPE_SUB1, ECORE_IMF_PREEDIT_TYPE_SUB2, ECORE_IMF_PREEDIT_TYPE_SUB3, ECORE_IMF_PREEDIT_TYPE_SUB4, ECORE_IMF_PREEDIT_TYPE_SUB5, ECORE_IMF_PREEDIT_TYPE_SUB6, ECORE_IMF_PREEDIT_TYPE_SUB7 }
| Ecore IMF Preedit style types. More...
enum | Ecore_IMF_Autocapital_Type { ECORE_IMF_AUTOCAPITAL_TYPE_NONE, ECORE_IMF_AUTOCAPITAL_TYPE_WORD, ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER }
| Autocapitalization Types. More...
enum | Ecore_IMF_Input_Panel_Layout { ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL, ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBER, ECORE_IMF_INPUT_PANEL_LAYOUT_EMAIL, ECORE_IMF_INPUT_PANEL_LAYOUT_URL, ECORE_IMF_INPUT_PANEL_LAYOUT_PHONENUMBER, ECORE_IMF_INPUT_PANEL_LAYOUT_IP, ECORE_IMF_INPUT_PANEL_LAYOUT_MONTH, ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY, ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID, ECORE_IMF_INPUT_PANEL_LAYOUT_HEX, ECORE_IMF_INPUT_PANEL_LAYOUT_TERMINAL, ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD, ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME }
| Input panel (virtual keyboard) layout types. More...
enum | Ecore_IMF_Input_Panel_Lang { ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC, ECORE_IMF_INPUT_PANEL_LANG_ALPHABET }
| Input panel (virtual keyboard) language modes. More...
enum | Ecore_IMF_Input_Panel_Return_Key_Type { ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN }
| "Return" Key types on the input panel (virtual keyboard). More...
enum | { ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL, ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED, ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL, ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL }

## Functions
EAPI Eina_List * | ecore_imf_context_available_ids_get (void)
| Get the list of the available Input Method Context ids. More...
EAPI const char * | ecore_imf_context_default_id_get (void)
| Get the id of the default Input Method Context. More...
EAPI const Ecore_IMF_Context_Info * | ecore_imf_context_info_by_id_get (const char *id)
| Retrieve the info for the Input Method Context with `id`. More...
EAPI Ecore_IMF_Context * | ecore_imf_context_add (const char *id)
| Create a new Input Method Context defined by the given id. More...
EAPI const Ecore_IMF_Context_Info * | ecore_imf_context_info_get (Ecore_IMF_Context *ctx)
| Retrieve the info for the given Input Method Context. More...
EAPI void | ecore_imf_context_del (Ecore_IMF_Context *ctx)
| Delete the given Input Method Context and free its memory. More...
EAPI void | ecore_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window)
| Set the client window for the Input Method Context; this is the Ecore_X_Window when using X11, Ecore_Win32_Window when using Win32, etc. More...
EAPI void * | ecore_imf_context_client_window_get (Ecore_IMF_Context *ctx)
| Get the client window of the Input Method Context. More...
EAPI void | ecore_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *canvas)
| Set the client canvas for the Input Method Context; this is the canvas in which the input appears. More...
EAPI void * | ecore_imf_context_client_canvas_get (Ecore_IMF_Context *ctx)
| Get the client canvas of the Input Method Context. More...
EAPI void | ecore_imf_context_show (Ecore_IMF_Context *ctx)
| Ask the Input Method Context to show itself. More...
EAPI void | ecore_imf_context_hide (Ecore_IMF_Context *ctx)
| Ask the Input Method Context to hide itself. More...
EAPI void | ecore_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char **str, int *cursor_pos)
| Retrieve the current preedit string and cursor position for the Input Method Context. More...
EAPI void | ecore_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos)
| Retrieve the current preedit string, attributes and cursor position for the Input Method Context. More...
EAPI void | ecore_imf_context_focus_in (Ecore_IMF_Context *ctx)
| Notify the Input Method Context that the widget to which its correspond has gained focus. More...
EAPI void | ecore_imf_context_focus_out (Ecore_IMF_Context *ctx)
| Notify the Input Method Context that the widget to which its correspond has lost focus. More...
EAPI void | ecore_imf_context_reset (Ecore_IMF_Context *ctx)
| Notify the Input Method Context that a change such as a change in cursor position has been made. More...
EAPI void | ecore_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos)
| Notify the Input Method Context that a change in the cursor position has been made. More...
EAPI void | ecore_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int x, int y, int w, int h)
| Notify the Input Method Context that a change in the cursor location has been made. More...
EAPI void | ecore_imf_context_use_preedit_set (Ecore_IMF_Context *ctx, Eina_Bool use_preedit)
| Set whether the IM context should use the preedit string to display feedback. More...
EAPI void | ecore_imf_context_retrieve_surrounding_callback_set (Ecore_IMF_Context *ctx, Eina_Bool(*func)(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos), const void *data)
| Set the callback to be used on surrounding_get request. More...
EAPI void | ecore_imf_context_retrieve_selection_callback_set (Ecore_IMF_Context *ctx, Eina_Bool(*func)(void *data, Ecore_IMF_Context *ctx, char **text), const void *data)
| Set the callback to be used on selection_get request. More...
EAPI void | ecore_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode)
| Set the input mode used by the Ecore Input Context. More...
EAPI Ecore_IMF_Input_Mode | ecore_imf_context_input_mode_get (Ecore_IMF_Context *ctx)
| Get the input mode being used by the Ecore Input Context. More...
EAPI Eina_Bool | ecore_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event)
| Allow an Ecore Input Context to internally handle an event. More...
EAPI void | ecore_imf_context_event_callback_add (Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func, const void *data)
| Add (register) a callback function to a given context event. More...
EAPI void * | ecore_imf_context_event_callback_del (Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func)
| Delete (unregister) a callback function registered to a given context event. More...
EAPI void | ecore_imf_context_prediction_allow_set (Ecore_IMF_Context *ctx, Eina_Bool prediction)
| Set whether the IM context should allow to use the text prediction. More...
EAPI Eina_Bool | ecore_imf_context_prediction_allow_get (Ecore_IMF_Context *ctx)
| Get whether the IM context should allow to use the text prediction. More...
EAPI void | ecore_imf_context_autocapital_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type)
| Set the autocapitalization type on the immodule. More...
EAPI Ecore_IMF_Autocapital_Type | ecore_imf_context_autocapital_type_get (Ecore_IMF_Context *ctx)
| Get the autocapitalization type. More...
EAPI void | ecore_imf_context_control_panel_show (Ecore_IMF_Context *ctx)
| Ask the Input Method Context to show the control panel of using Input Method. More...
EAPI void | ecore_imf_context_control_panel_hide (Ecore_IMF_Context *ctx)
| Ask the Input Method Context to hide the control panel of using Input Method. More...
EAPI void | ecore_imf_context_input_panel_show (Ecore_IMF_Context *ctx)
| Ask the Input Method Context to show the input panel (virtual keyboard). More...
EAPI void | ecore_imf_context_input_panel_hide (Ecore_IMF_Context *ctx)
| Ask the Input Method Context to hide the input panel. More...
EAPI void | ecore_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout)
| Set the layout of the input panel. More...
EAPI Ecore_IMF_Input_Panel_Layout | ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx)
| Get the layout of the current active input panel. More...
EAPI void | ecore_imf_context_input_panel_layout_variation_set (Ecore_IMF_Context *ctx, int variation)
| Set the layout variation of the current active input panel. More...
EAPI int | ecore_imf_context_input_panel_layout_variation_get (Ecore_IMF_Context *ctx)
| Get the layout variation of the current active input panel. More...
EAPI void | ecore_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang)
| Set the language of the input panel. More...
EAPI Ecore_IMF_Input_Panel_Lang | ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx)
| Get the language of the input panel. More...
EAPI void | ecore_imf_context_input_panel_enabled_set (Ecore_IMF_Context *ctx, Eina_Bool enabled)
| Set whether the Input Method Context should request to show the input panel automatically when the widget has focus. More...
EAPI Eina_Bool | ecore_imf_context_input_panel_enabled_get (Ecore_IMF_Context *ctx)
| Get whether the Input Method Context requests to show the input panel automatically. More...
EAPI void | ecore_imf_context_input_panel_imdata_set (Ecore_IMF_Context *ctx, const void *data, int len)
| Set the input panel-specific data to deliver to the input panel. More...
EAPI void | ecore_imf_context_input_panel_imdata_get (Ecore_IMF_Context *ctx, void *data, int *len)
| Get the specific data of the current active input panel. More...
EAPI void | ecore_imf_context_input_panel_return_key_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type)
| Set the "return" key type. More...
EAPI Ecore_IMF_Input_Panel_Return_Key_Type | ecore_imf_context_input_panel_return_key_type_get (Ecore_IMF_Context *ctx)
| Get the "return" key type. More...
EAPI void | ecore_imf_context_input_panel_return_key_disabled_set (Ecore_IMF_Context *ctx, Eina_Bool disabled)
| Set the return key on the input panel to be disabled. More...
EAPI Eina_Bool | ecore_imf_context_input_panel_return_key_disabled_get (Ecore_IMF_Context *ctx)
| Get whether the return key on the input panel should be disabled or not. More...
EAPI void | ecore_imf_context_input_panel_caps_lock_mode_set (Ecore_IMF_Context *ctx, Eina_Bool mode)
| Set the caps lock mode on the input panel. More...
EAPI Eina_Bool | ecore_imf_context_input_panel_caps_lock_mode_get (Ecore_IMF_Context *ctx)
| Get the caps lock mode on the input panel. More...
EAPI void | ecore_imf_context_input_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h)
| Get the position of the current active input panel. More...
EAPI Ecore_IMF_Input_Panel_State | ecore_imf_context_input_panel_state_get (Ecore_IMF_Context *ctx)
| Get state of current active input panel. More...
EAPI void | ecore_imf_context_input_panel_event_callback_add (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void(*func)(void *data, Ecore_IMF_Context *ctx, int value), const void *data)
| Register a callback function which will be called if there is change in input panel state,language,mode etc. More...
EAPI void | ecore_imf_context_input_panel_event_callback_del (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void(*func)(void *data, Ecore_IMF_Context *ctx, int value))
| Unregister a callback function which will be called if there is change in input panel state, language, mode etc. More...
EAPI void | ecore_imf_context_input_panel_event_callback_call (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, int value)
| Call a given input panel callback on the context `ctx`. More...
EAPI void | ecore_imf_context_input_panel_event_callback_clear (Ecore_IMF_Context *ctx)
| Delete all input panel callback on the context `ctx`. More...
EAPI void | ecore_imf_context_input_panel_language_locale_get (Ecore_IMF_Context *ctx, char **lang)
| Get the current language locale of the input panel. More...
EAPI void | ecore_imf_context_candidate_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h)
| Get the geometry information of the candidate panel. More...
EAPI void | ecore_imf_context_input_panel_show_on_demand_set (Ecore_IMF_Context *ctx, Eina_Bool ondemand)
| Set whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event. More...
EAPI Eina_Bool | ecore_imf_context_input_panel_show_on_demand_get (Ecore_IMF_Context *ctx)
| Get whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event. More...

## Variables
EAPI int | ECORE_IMF_EVENT_PREEDIT_START
EAPI int | ECORE_IMF_EVENT_PREEDIT_END
EAPI int | ECORE_IMF_EVENT_PREEDIT_CHANGED
EAPI int | ECORE_IMF_EVENT_COMMIT
EAPI int | ECORE_IMF_EVENT_DELETE_SURROUNDING

## Detailed Description

Functions that operate on Ecore Input Method Context objects.

Ecore Input Method Context Function defines the interface for EFL input methods. An input method is used by EFL text input widgets like elm_entry (based on edje_entry) to map from key events to Unicode character strings.

The default input method can be set through setting the ECORE_IMF_MODULE environment variable. eg) export ECORE_IMF_MODULE=xim (or scim or ibus)

An input method may consume multiple key events in sequence and finally output 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.

Immodule is plugin to connect your application and input method framework such as SCIM, ibus, and so on.
ecore_imf_init() should be called to initialize and load immodule.
ecore_imf_shutdown() is used for shutdowning and unloading immodule.

An example of usage of these functions can be found at:

- ecore_imf - How to handle preedit and commit string from Input Method Framework

## Enumeration Type Documentation

enum Ecore_IMF_Input_Panel_Event

Enumerator
ECORE_IMF_INPUT_PANEL_STATE_EVENT | called when the state of the input panel is changed. Since 1.7
ECORE_IMF_INPUT_PANEL_LANGUAGE_EVENT | called when the language of the input panel is changed. Since 1.7
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT | called when the shift key state of the input panel is changed Since 1.7
ECORE_IMF_INPUT_PANEL_GEOMETRY_EVENT | called when the size of the input panel is changed. Since 1.7
ECORE_IMF_CANDIDATE_PANEL_STATE_EVENT | called when the state of the candidate word panel is changed. Since 1.7
ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT | called when the size of the candidate word panel is changed. Since 1.7

enum Ecore_IMF_Input_Panel_State

Enumerator
ECORE_IMF_INPUT_PANEL_STATE_SHOW | Notification after the display of the input panel. Since 1.7
ECORE_IMF_INPUT_PANEL_STATE_HIDE | Notification prior to the dismissal of the input panel. Since 1.7
ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW | Notification prior to the display of the input panel. Since 1.7

enum Ecore_IMF_Input_Panel_Shift_Mode

Enumerator
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF | Since 1.7
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON | Since 1.7

enum Ecore_IMF_Candidate_Panel_State

Enumerator
ECORE_IMF_CANDIDATE_PANEL_SHOW | Notification after the display of the candidate word panel. Since 1.7
ECORE_IMF_CANDIDATE_PANEL_HIDE | Notification prior to the dismissal of the candidate word panel. Since 1.7

enum Ecore_IMF_Callback_Type

Ecore IMF Event callback types.

See Also
  ecore_imf_context_event_callback_add()

Enumerator
ECORE_IMF_CALLBACK_PREEDIT_START | "PREEDIT_START" is called when a new preediting sequence starts. Since 1.2
ECORE_IMF_CALLBACK_PREEDIT_END | "PREEDIT_END" is called when a preediting sequence has been completed or canceled. Since 1.2
ECORE_IMF_CALLBACK_PREEDIT_CHANGED | "PREEDIT_CHANGED" is called whenever the preedit sequence currently being entered has changed. Since 1.2
ECORE_IMF_CALLBACK_COMMIT | "COMMIT" is called when a complete input sequence has been entered by the user Since 1.2
ECORE_IMF_CALLBACK_DELETE_SURROUNDING | "DELETE_SURROUNDING" is called when the input method needs to delete all or part of the context surrounding the cursor Since 1.2
ECORE_IMF_CALLBACK_SELECTION_SET | "SELECTION_SET" is called when the input method needs to set the selection Since 1.9

enum Ecore_IMF_Event_Type

Ecore IMF event types.

See Also
  ecore_imf_context_filter_event()

Enumerator
ECORE_IMF_EVENT_MOUSE_DOWN | Mouse Down event.
ECORE_IMF_EVENT_MOUSE_UP | Mouse Up event.
ECORE_IMF_EVENT_MOUSE_IN | Mouse In event.
ECORE_IMF_EVENT_MOUSE_OUT | Mouse Out event.
ECORE_IMF_EVENT_MOUSE_MOVE | Mouse Move event.
ECORE_IMF_EVENT_MOUSE_WHEEL | Mouse Wheel event.
ECORE_IMF_EVENT_KEY_DOWN | Key Down event.
ECORE_IMF_EVENT_KEY_UP | Key Up event.

enum Ecore_IMF_Keyboard_Modifiers

Type for Ecore_IMF keyboard modifiers.

Enumerator
ECORE_IMF_KEYBOARD_MODIFIER_NONE | No active modifiers.
ECORE_IMF_KEYBOARD_MODIFIER_CTRL | "Control" is pressed
ECORE_IMF_KEYBOARD_MODIFIER_ALT | "Alt" is pressed
ECORE_IMF_KEYBOARD_MODIFIER_SHIFT | "Shift" is pressed
ECORE_IMF_KEYBOARD_MODIFIER_WIN | "Win" (between "Ctrl" and "Alt") is pressed
ECORE_IMF_KEYBOARD_MODIFIER_ALTGR | "AltGr" is pressed Since 1.7

enum Ecore_IMF_Keyboard_Locks

Type for Ecore_IMF keyboard locks.

Enumerator
ECORE_IMF_KEYBOARD_LOCK_NONE | No locks are active.
ECORE_IMF_KEYBOARD_LOCK_NUM | "Num" lock is active
ECORE_IMF_KEYBOARD_LOCK_CAPS | "Caps" lock is active
ECORE_IMF_KEYBOARD_LOCK_SCROLL | "Scroll" lock is active

enum Ecore_IMF_Mouse_Flags

Type for Ecore_IMF mouse flags.

Enumerator
ECORE_IMF_MOUSE_NONE | A single click.
ECORE_IMF_MOUSE_DOUBLE_CLICK | A double click.
ECORE_IMF_MOUSE_TRIPLE_CLICK | A triple click.

enum Ecore_IMF_Preedit_Type

Ecore IMF Preedit style types.

See Also
  ecore_imf_context_preedit_string_with_attributes_get()

Enumerator
ECORE_IMF_PREEDIT_TYPE_NONE | None style. Since 1.1
ECORE_IMF_PREEDIT_TYPE_SUB1 | Substring style 1. Since 1.1
ECORE_IMF_PREEDIT_TYPE_SUB2 | Substring style 2. Since 1.1
ECORE_IMF_PREEDIT_TYPE_SUB3 | Substring style 3. Since 1.1
ECORE_IMF_PREEDIT_TYPE_SUB4 | Substring style 4. Since 1.8
ECORE_IMF_PREEDIT_TYPE_SUB5 | Substring style 5. Since 1.8
ECORE_IMF_PREEDIT_TYPE_SUB6 | Substring style 6. Since 1.8
ECORE_IMF_PREEDIT_TYPE_SUB7 | Substring style 7. Since 1.8

enum Ecore_IMF_Autocapital_Type

Autocapitalization Types.

See Also
  ecore_imf_context_autocapital_type_set()

Enumerator
ECORE_IMF_AUTOCAPITAL_TYPE_NONE | No auto-capitalization when typing. Since 1.1
ECORE_IMF_AUTOCAPITAL_TYPE_WORD | Autocapitalize each word typed. Since 1.1
ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE | Autocapitalize the start of each sentence. Since 1.1
ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER | Autocapitalize all letters. Since 1.1

enum Ecore_IMF_Input_Panel_Layout

Input panel (virtual keyboard) layout types.

See Also
  ecore_imf_context_input_panel_layout_set()

Enumerator
ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL | Default layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBER | Number layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_EMAIL | Email layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_URL | URL layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_PHONENUMBER | Phone Number layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_IP | IP layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_MONTH | Month layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY | Number Only layout.
ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID | Never use this.
ECORE_IMF_INPUT_PANEL_LAYOUT_HEX | Hexadecimal layout. Since 1.2
ECORE_IMF_INPUT_PANEL_LAYOUT_TERMINAL | Command-line terminal layout including ESC, Alt, Ctrl key, so on (no auto-correct, no auto-capitalization) Since 1.2
ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD | Like normal, but no auto-correct, no auto-capitalization etc. Since 1.2
ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME | Date and time layout. Since 1.8

enum Ecore_IMF_Input_Panel_Lang

Input panel (virtual keyboard) language modes.

See Also
  ecore_imf_context_input_panel_language_set()

Enumerator
ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC | Automatic. Since 1.2
ECORE_IMF_INPUT_PANEL_LANG_ALPHABET | Alphabet. Since 1.2

enum Ecore_IMF_Input_Panel_Return_Key_Type

"Return" Key types on the input panel (virtual keyboard).

See Also
  ecore_imf_context_input_panel_return_key_type_set()

Enumerator
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT | Default. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE | Done. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO | Go. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN | Join. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN | Login. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT | Next. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH | Search or magnifier icon. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND | Send. Since 1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN | Sign-in. Since 1.8

## Function Documentation

EAPI Eina_List* ecore_imf_context_available_ids_get | ( | void |  | ) |

Get the list of the available Input Method Context ids.

Note that the caller is responsible for freeing the Eina_List when finished with it. There is no need to finish the list strings.

Returns
  Return an Eina_List of strings; on failure it returns NULL.

EAPI const char* ecore_imf_context_default_id_get | ( | void |  | ) |

Get the id of the default Input Method Context.

The id may to used to create a new instance of an Input Method Context object.

Returns
  Return a string containing the id of the default Input Method Context; on failure it returns NULL.

EAPI const Ecore_IMF_Context_Info* ecore_imf_context_info_by_id_get | ( | const char * | id | ) |

Retrieve the info for the Input Method Context with `id`.

Parameters

  id | The Input Method Context id to query for.

Returns
  Return a Ecore_IMF_Context_Info for the Input Method Context with `id`; on failure it returns NULL.

Example

const char *ctx_id;
const Ecore_IMF_Context_Info *ctx_info;
Ecore_IMF_Context *imf_context;
ctx_id = ecore_imf_context_default_id_get();
if (ctx_id)
{
ctx_info = ecore_imf_context_info_by_id_get(ctx_id);
if (!ctx_info->canvas_type ||
strcmp(ctx_info->canvas_type, "evas") == 0)
{
imf_context = ecore_imf_context_add(ctx_id);
}
else
{
ctx_id = ecore_imf_context_default_id_by_canvas_type_get("evas");
if (ctx_id)
{
imf_context = ecore_imf_context_add(ctx_id);
}
}
}

EAPI Ecore_IMF_Context* ecore_imf_context_add | ( | const char * | id | ) |

Create a new Input Method Context defined by the given id.

Parameters

  id | The Input Method Context id.

Returns
  A newly allocated Input Method Context; on failure it returns NULL.

References ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, ecore_imf_context_autocapital_type_set(), ecore_imf_context_input_mode_set(), ecore_imf_context_input_panel_enabled_set(), ecore_imf_context_input_panel_layout_set(), ecore_imf_context_prediction_allow_set(), ecore_imf_context_use_preedit_set(), ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL, and EINA_TRUE.

EAPI const Ecore_IMF_Context_Info* ecore_imf_context_info_get | ( | Ecore_IMF_Context * | ctx | ) |

Retrieve the info for the given Input Method Context.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  Return a Ecore_IMF_Context_Info for the given Input Method Context; on failure it returns NULL.

EAPI void ecore_imf_context_del | ( | Ecore_IMF_Context * | ctx | ) |

Delete the given Input Method Context and free its memory.

Parameters

  ctx | An Ecore_IMF_Context.

References EINA_LIST_FREE.

EAPI void ecore_imf_context_client_window_set | ( | Ecore_IMF_Context * | ctx,
|  | void * | window
| ) |  |

Set the client window for the Input Method Context; this is the Ecore_X_Window when using X11, Ecore_Win32_Window when using Win32, etc.

This window is used in order to correctly position status windows, and may also be used for purposes internal to the Input Method Context.

Parameters

  ctx | An Ecore_IMF_Context.
  window | The client window. This may be `NULL` to indicate that the previous client window no longer exists.

EAPI void* ecore_imf_context_client_window_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the client window of the Input Method Context.

See ecore_imf_context_client_window_set for more details.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  Return the client window.

Since
  1.1.0

EAPI void ecore_imf_context_client_canvas_set | ( | Ecore_IMF_Context * | ctx,
|  | void * | canvas
| ) |  |

Set the client canvas for the Input Method Context; this is the canvas in which the input appears.

The canvas type can be determined by using the context canvas type. Actually only canvas with type "evas" (Evas *) is supported. This canvas may be used in order to correctly position status windows, and may also be used for purposes internal to the Input Method Context.

Parameters

  ctx | An Ecore_IMF_Context.
  canvas | The client canvas. This may be `NULL` to indicate that the previous client canvas no longer exists.

EAPI void* ecore_imf_context_client_canvas_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the client canvas of the Input Method Context.

See ecore_imf_context_client_canvas_set for more details.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  Return the client canvas.

Since
  1.1.0

EAPI void ecore_imf_context_show | ( | Ecore_IMF_Context * | ctx | ) |

Ask the Input Method Context to show itself.

Parameters

  ctx | An Ecore_IMF_Context.

EAPI void ecore_imf_context_hide | ( | Ecore_IMF_Context * | ctx | ) |

Ask the Input Method Context to hide itself.

Parameters

  ctx | An Ecore_IMF_Context.

EAPI void ecore_imf_context_preedit_string_get | ( | Ecore_IMF_Context * | ctx,
|  | char ** | str,
|  | int * | cursor_pos
| ) |  |

Retrieve the current preedit string and cursor position for the Input Method Context.

Parameters

  ctx | An Ecore_IMF_Context.
  str | Location to store the retrieved string. The string retrieved must be freed with free().
  cursor_pos | Location to store position of cursor (in characters) within the preedit string.

EAPI void ecore_imf_context_preedit_string_with_attributes_get | ( | Ecore_IMF_Context * | ctx,
|  | char ** | str,
|  | Eina_List ** | attrs,
|  | int * | cursor_pos
| ) |  |

Retrieve the current preedit string, attributes and cursor position for the Input Method Context.

Parameters

  ctx | An Ecore_IMF_Context.
  str | Location to store the retrieved string. The string retrieved must be freed with free().
  attrs | an Eina_List of attributes
  cursor_pos | Location to store position of cursor (in characters) within the preedit string.

Example

char *preedit_string;
int cursor_pos;
Eina_List *attrs = NULL, *l = NULL;
Ecore_IMF_Preedit_Attr *attr;
ecore_imf_context_preedit_string_with_attributes_get(imf_context,
&preedit_string,
&attrs, &cursor_pos);
if (!preedit_string) return;
if (strlen(preedit_string) > 0)
{
if (attrs)
{
EINA_LIST_FOREACH(attrs, l, attr)
{
if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB1)
{
// Something to do
}
else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB2)
{
// Something to do
}
else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3)
{
// Something to do
}
}
}
}
// delete attribute list
EINA_LIST_FREE(attrs, attr) free(attr);
free(preedit_string);

Since
  1.1.0

EAPI void ecore_imf_context_focus_in | ( | Ecore_IMF_Context * | ctx | ) |

Notify the Input Method Context that the widget to which its correspond has gained focus.

Parameters

  ctx | An Ecore_IMF_Context.

Example

static void
_focus_in_cb(void *data, Evas_Object *o, const char *emission, const char *source)
{
Ecore_IMF_Context *imf_context = data;
ecore_imf_context_focus_in(imf_context);
}
evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_IN, _focus_in_cb, imf_context);

EAPI void ecore_imf_context_focus_out | ( | Ecore_IMF_Context * | ctx | ) |

Notify the Input Method Context that the widget to which its correspond has lost focus.

Parameters

  ctx | An Ecore_IMF_Context.

Example

static void
_focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source)
{
Ecore_IMF_Context *imf_context = data;
ecore_imf_context_reset(imf_context);
ecore_imf_context_focus_out(imf_context);
}
evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed);

EAPI void ecore_imf_context_reset | ( | Ecore_IMF_Context * | ctx | ) |

Notify the Input Method Context that a change such as a change in cursor position has been made.

This will typically cause the Input Method Context to clear the preedit state or commit the preedit string.

The operation of ecore_imf_context_reset() depends on the specific characteristics of each language. For example, the preedit string is cleared in the Chinese and Japanese Input Method Engine. However, The preedit string is committed and then cleared in the Korean Input Method Engine.

This function should be called in case of the focus-out and mouse down event callback function. In addition, it should be called before inserting some text.

Parameters

  ctx | An Ecore_IMF_Context.

Example

static void
_focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source)
{
Ecore_IMF_Context *imf_context = data;
ecore_imf_context_reset(imf_context);
ecore_imf_context_focus_out(imf_context);
}
evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, imf_context);

EAPI void ecore_imf_context_cursor_position_set | ( | Ecore_IMF_Context * | ctx,
|  | int | cursor_pos
| ) |  |

Notify the Input Method Context that a change in the cursor position has been made.

This function should be called when cursor position is changed or mouse up event is generated. Some input methods that do a heavy job using this event can give a critical performance latency problem. For better typing performance, we suggest that the cursor position change events need to be occurred only if the cursor position is on a confirmed status not on moving status.

Parameters

  ctx | An Ecore_IMF_Context.
  cursor_pos | New cursor position in characters.

EAPI void ecore_imf_context_cursor_location_set | ( | Ecore_IMF_Context * | ctx,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h
| ) |  |

Notify the Input Method Context that a change in the cursor location has been made.

The location is relative to the canvas. The cursor location can be used to determine the position of candidate word window in the immodule.

Parameters

  ctx | An Ecore_IMF_Context.
  x | cursor x position.
  y | cursor y position.
  w | cursor width.
  h | cursor height.

Since
  1.1.0

EAPI void ecore_imf_context_use_preedit_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool | use_preedit
| ) |  |

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

If `use_preedit` is `EINA_FALSE` (default is `EINA_TRUE`), then the IM context may use some other method to display feedback, such as displaying it in a child of the root window.

Parameters

  ctx | An Ecore_IMF_Context.
  use_preedit | Whether the IM context should use the preedit string.

Referenced by ecore_imf_context_add().

EAPI void ecore_imf_context_retrieve_surrounding_callback_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool(*)(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos) | func,
|  | const void * | data
| ) |  |

Set the callback to be used on surrounding_get request.

This callback will be called when the Input Method Context module requests the surrounding context.

Parameters

  ctx | An Ecore_IMF_Context.
  func | The callback to be called.
  data | The data pointer to be passed to `func`

EAPI void ecore_imf_context_retrieve_selection_callback_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool(*)(void *data, Ecore_IMF_Context *ctx, char **text) | func,
|  | const void * | data
| ) |  |

Set the callback to be used on selection_get request.

This callback will be called when the Input Method Context module requests the selection context.

Parameters

  ctx | An Ecore_IMF_Context.
  func | The callback to be called.
  data | The data pointer to be passed to `func`

Since
  1.9.0

EAPI void ecore_imf_context_input_mode_set | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Mode | input_mode
| ) |  |

Set the input mode used by the Ecore Input Context.

The input mode can be one of the input modes defined in Ecore_IMF_Input_Mode. The default input mode is ECORE_IMF_INPUT_MODE_FULL.

Parameters

  ctx | An Ecore_IMF_Context.
  input_mode | The input mode to be used by `ctx`.

Referenced by ecore_imf_context_add().

EAPI Ecore_IMF_Input_Mode ecore_imf_context_input_mode_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the input mode being used by the Ecore Input Context.

See ecore_imf_context_input_mode_set for more details.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  The input mode being used by `ctx`.

EAPI Eina_Bool ecore_imf_context_filter_event | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Event_Type | type,
|  | Ecore_IMF_Event * | event
| ) |  |

Allow an Ecore Input Context to internally handle an event.

If this function returns `EINA_TRUE`, then no further processing should be done for this event.

Input methods must be able to accept all types of events (simply returning `EINA_FALSE` if the event was not handled), but there is no obligation of any events to be submitted to this function.

Parameters

  ctx | An Ecore_IMF_Context.
  type | The type of event defined by Ecore_IMF_Event_Type.
  event | The event itself.

Returns
  `EINA_TRUE` if the event was handled; otherwise `EINA_FALSE`.

Example

static void
_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Event_Key_Down *ev = event_info;
if (!ev->key) return;
if (imf_context)
{
Ecore_IMF_Event_Key_Down ecore_ev;
ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev);
if (ecore_imf_context_filter_event(imf_context,
ECORE_IMF_EVENT_KEY_DOWN,
(Ecore_IMF_Event *)&ecore_ev))
return;
}
}
evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, data);

References EINA_FALSE.

EAPI void ecore_imf_context_event_callback_add | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Callback_Type | type,
|  | Ecore_IMF_Event_Cb | func,
|  | const void * | data
| ) |  |

Add (register) a callback function to a given context event.

This function adds a function callback to the context `ctx` when the event of type `type` occurs on it. The function pointer is `func`.

The event type `type` to trigger the function may be one of ECORE_IMF_CALLBACK_PREEDIT_START, ECORE_IMF_CALLBACK_PREEDIT_END, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, ECORE_IMF_CALLBACK_COMMIT and ECORE_IMF_CALLBACK_DELETE_SURROUNDING.

Parameters

  ctx | Ecore_IMF_Context to attach a callback to.
  type | The type of event that will trigger the callback
  func | The (callback) function to be called when the event is triggered
  data | The data pointer to be passed to `func`

Since
  1.2.0

Example

static void
_imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
{
char *commit_str = event_info;
// something to do
}
ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb, data);

References eina_list_append().

EAPI void* ecore_imf_context_event_callback_del | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Callback_Type | type,
|  | Ecore_IMF_Event_Cb | func
| ) |  |

Delete (unregister) a callback function registered to a given context event.

This function removes a function callback from the context `ctx` when the event of type `type` occurs on it. The function pointer is `func`.

See Also
  ecore_imf_context_event_callback_add() for more details

Parameters

  ctx | Ecore_IMF_Context to remove a callback from.
  type | The type of event that was triggering the callback
  func | The (callback) function that was to be called when the event was triggered

Returns
  the data pointer

Since
  1.2.0

References EINA_LIST_FOREACH_SAFE, and eina_list_remove_list().

EAPI void ecore_imf_context_prediction_allow_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool | prediction
| ) |  |

Set whether the IM context should allow to use the text prediction.

If `prediction` is `EINA_FALSE` (default is `EINA_TRUE`), then the IM context will not display the text prediction window.

Parameters

  ctx | An Ecore_IMF_Context.
  prediction | Whether the IM context should allow to use the text prediction.

Note
  Default value is EINA_TRUE.

Since
  1.1.0

Referenced by ecore_imf_context_add().

EAPI Eina_Bool ecore_imf_context_prediction_allow_get | ( | Ecore_IMF_Context * | ctx | ) |

Get whether the IM context should allow to use the text prediction.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  `EINA_TRUE` if it allows to use the text prediction, otherwise `EINA_FALSE`.

Since
  1.1.0

References EINA_FALSE.

EAPI void ecore_imf_context_autocapital_type_set | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Autocapital_Type | autocapital_type
| ) |  |

Set the autocapitalization type on the immodule.

Parameters

  ctx | An Ecore_IMF_Context.
  autocapital_type | the autocapitalization type.

Note
  Default type is ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE.

Since
  1.1.0

Referenced by ecore_imf_context_add().

EAPI Ecore_IMF_Autocapital_Type ecore_imf_context_autocapital_type_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the autocapitalization type.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  The autocapital type being used by `ctx`.

Since
  1.1.0

References ECORE_IMF_AUTOCAPITAL_TYPE_NONE.

EAPI void ecore_imf_context_control_panel_show | ( | Ecore_IMF_Context * | ctx | ) |

Ask the Input Method Context to show the control panel of using Input Method.

Parameters

  ctx | An Ecore_IMF_Context.

Since
  1.1.0

EAPI void ecore_imf_context_control_panel_hide | ( | Ecore_IMF_Context * | ctx | ) |

Ask the Input Method Context to hide the control panel of using Input Method.

Parameters

  ctx | An Ecore_IMF_Context.

Since
  1.1.0

EAPI void ecore_imf_context_input_panel_show | ( | Ecore_IMF_Context * | ctx | ) |

Ask the Input Method Context to show the input panel (virtual keyboard).

Parameters

  ctx | An Ecore_IMF_Context.

Since
  1.1.0

EAPI void ecore_imf_context_input_panel_hide | ( | Ecore_IMF_Context * | ctx | ) |

Ask the Input Method Context to hide the input panel.

Parameters

  ctx | An Ecore_IMF_Context.

Since
  1.1.0

Referenced by ecore_imf_input_panel_hide().

EAPI void ecore_imf_context_input_panel_layout_set | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Panel_Layout | layout
| ) |  |

Set the layout of the input panel.

Parameters

  ctx | An Ecore_IMF_Context.
  layout | see Ecore_IMF_Input_Panel_Layout

Note
  Default layout type is ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL.

Since
  1.1.0

Referenced by ecore_imf_context_add().

EAPI Ecore_IMF_Input_Panel_Layout ecore_imf_context_input_panel_layout_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the layout of the current active input panel.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  layout see Ecore_IMF_Input_Panel_Layout

Since
  1.1.0

References ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID.

EAPI void ecore_imf_context_input_panel_layout_variation_set | ( | Ecore_IMF_Context * | ctx,
|  | int | variation
| ) |  |

Set the layout variation of the current active input panel.

Parameters

  ctx | An Ecore_IMF_Context.
  variation | the layout variation

Note
  Default layout variation type is NORMAL.

Since
  1.8.0

EAPI int ecore_imf_context_input_panel_layout_variation_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the layout variation of the current active input panel.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  the layout variation

Since
  1.8.0

EAPI void ecore_imf_context_input_panel_language_set | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Panel_Lang | lang
| ) |  |

Set the language of the input panel.

This API can be used when you want to show the English keyboard.

Parameters

  ctx | An Ecore_IMF_Context.
  lang | the language to be set to the input panel.

Since
  1.1.0

EAPI Ecore_IMF_Input_Panel_Lang ecore_imf_context_input_panel_language_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the language of the input panel.

See ecore_imf_context_input_panel_language_set for more details.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  Ecore_IMF_Input_Panel_Lang

Since
  1.1.0

References ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC.

EAPI void ecore_imf_context_input_panel_enabled_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool | enabled
| ) |  |

Set whether the Input Method Context should request to show the input panel automatically when the widget has focus.

Parameters

  ctx | An Ecore_IMF_Context.
  enabled | If true, the input panel will be shown when the widget is clicked or has focus.

Since
  1.1.0

Referenced by ecore_imf_context_add().

EAPI Eina_Bool ecore_imf_context_input_panel_enabled_get | ( | Ecore_IMF_Context * | ctx | ) |

Get whether the Input Method Context requests to show the input panel automatically.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  Return the attribute to show the input panel automatically

Since
  1.1.0

References EINA_FALSE.

EAPI void ecore_imf_context_input_panel_imdata_set | ( | Ecore_IMF_Context * | ctx,
|  | const void * | data,
|  | int | len
| ) |  |

Set the input panel-specific data to deliver to the input panel.

This API is used by applications to deliver specific data to the input panel. The data format MUST be negotiated by both application and the input panel. The size and format of data are defined by the input panel.

Parameters

  ctx | An Ecore_IMF_Context.
  data | The specific data to be set to the input panel.
  len | the length of data, in bytes, to send to the input panel

Since
  1.2.0

EAPI void ecore_imf_context_input_panel_imdata_get | ( | Ecore_IMF_Context * | ctx,
|  | void * | data,
|  | int * | len
| ) |  |

Get the specific data of the current active input panel.

Parameters

  ctx | An Ecore_IMF_Context.
  data | The specific data to be got from the input panel
  len | The length of data

Since
  1.2.0

EAPI void ecore_imf_context_input_panel_return_key_type_set | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Panel_Return_Key_Type | return_key_type
| ) |  |

Set the "return" key type.

This type is used to set string or icon on the "return" key of the input panel.

An input panel displays the string or icon associated with this type

Parameters

  ctx | An Ecore_IMF_Context.
  return_key_type | The type of "return" key on the input panel

Note
  Default type is ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT.

Since
  1.2.0

EAPI Ecore_IMF_Input_Panel_Return_Key_Type ecore_imf_context_input_panel_return_key_type_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the "return" key type.

See Also
  ecore_imf_context_input_panel_return_key_type_set() for more details

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  The type of "return" key on the input panel

Since
  1.2.0

References EINA_FALSE.

EAPI void ecore_imf_context_input_panel_return_key_disabled_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool | disabled
| ) |  |

Set the return key on the input panel to be disabled.

Parameters

  ctx | An Ecore_IMF_Context.
  disabled | The state

Since
  1.2.0

EAPI Eina_Bool ecore_imf_context_input_panel_return_key_disabled_get | ( | Ecore_IMF_Context * | ctx | ) |

Get whether the return key on the input panel should be disabled or not.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  `EINA_TRUE` if it should be disabled.

Since
  1.2.0

References EINA_FALSE.

EAPI void ecore_imf_context_input_panel_caps_lock_mode_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool | mode
| ) |  |

Set the caps lock mode on the input panel.

Parameters

  ctx | An Ecore_IMF_Context.
  mode | Turn on caps lock on the input panel if `EINA_TRUE`.

Since
  1.2.0

EAPI Eina_Bool ecore_imf_context_input_panel_caps_lock_mode_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the caps lock mode on the input panel.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  `EINA_TRUE` if the caps lock is turned on.

Since
  1.2.0

References EINA_FALSE.

EAPI void ecore_imf_context_input_panel_geometry_get | ( | Ecore_IMF_Context * | ctx,
|  | int * | x,
|  | int * | y,
|  | int * | w,
|  | int * | h
| ) |  |

Get the position of the current active input panel.

Parameters

  ctx | An Ecore_IMF_Context.
  x | top-left x co-ordinate of the input panel
  y | top-left y co-ordinate of the input panel
  w | width of the input panel
  h | height of the input panel

Since
  1.3

EAPI Ecore_IMF_Input_Panel_State ecore_imf_context_input_panel_state_get | ( | Ecore_IMF_Context * | ctx | ) |

Get state of current active input panel.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  The state of input panel.

Since
  1.3

References ECORE_IMF_INPUT_PANEL_STATE_HIDE.

Referenced by ecore_imf_input_panel_hide().

EAPI void ecore_imf_context_input_panel_event_callback_add | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Panel_Event | type,
|  | void(*)(void *data, Ecore_IMF_Context *ctx, int value) | func,
|  | const void * | data
| ) |  |

Register a callback function which will be called if there is change in input panel state,language,mode etc.

In order to deregister the callback function Use ecore_imf_context_input_panel_event_callback_del.

Parameters

  ctx | An Ecore_IMF_Context
  type | event type
  func | the callback function
  data | application-input panel specific data.

Since
  1.3

References eina_list_append().

EAPI void ecore_imf_context_input_panel_event_callback_del | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Panel_Event | type,
|  | void(*)(void *data, Ecore_IMF_Context *ctx, int value) | func
| ) |  |

Unregister a callback function which will be called if there is change in input panel state, language, mode etc.

Parameters

  ctx | An Ecore_IMF_Context.
  type | An Ecore_IMF_Input_Panel_Event.
  func | the callback function

Since
  1.3

References EINA_LIST_FOREACH_SAFE, and eina_list_remove_list().

EAPI void ecore_imf_context_input_panel_event_callback_call | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Panel_Event | type,
|  | int | value
| ) |  |

Call a given input panel callback on the context `ctx`.

Parameters

  ctx | Ecore_IMF_Context.
  type | The type of event that will trigger the callback
  value | the event value

Since
  1.8.0

References ECORE_IMF_INPUT_PANEL_STATE_EVENT, ECORE_IMF_INPUT_PANEL_STATE_HIDE, and EINA_LIST_FOREACH.

EAPI void ecore_imf_context_input_panel_event_callback_clear | ( | Ecore_IMF_Context * | ctx | ) |

Delete all input panel callback on the context `ctx`.

Delete all input panel callback to be registered by ecore_imf_context_input_panel_event_callback_add()

Parameters

  ctx | Ecore_IMF_Context.

Since
  1.8.0

References _Eina_List::data, eina_list_remove(), and _Eina_List::next.

EAPI void ecore_imf_context_input_panel_language_locale_get | ( | Ecore_IMF_Context * | ctx,
|  | char ** | lang
| ) |  |

Get the current language locale of the input panel.

ex) fr_FR

Parameters

  ctx | An Ecore_IMF_Context.
  lang | Location to store the retrieved language string. The string retrieved must be freed with free().

Since
  1.3

EAPI void ecore_imf_context_candidate_panel_geometry_get | ( | Ecore_IMF_Context * | ctx,
|  | int * | x,
|  | int * | y,
|  | int * | w,
|  | int * | h
| ) |  |

Get the geometry information of the candidate panel.

Parameters

  ctx | An Ecore_IMF_Context.
  x | top-left x co-ordinate of the candidate panel
  y | top-left y co-ordinate of the candidate panel
  w | width of the candidate panel
  h | height of the candidate panel

Since
  1.3

EAPI void ecore_imf_context_input_panel_show_on_demand_set | ( | Ecore_IMF_Context * | ctx,
|  | Eina_Bool | ondemand
| ) |  |

Set whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.

It doesn't request to show the input panel even though the Input Method Context has focus.

Parameters

  ctx | An Ecore_IMF_Context.
  ondemand | If true, the input panel will be shown in case of only Mouse up event. (Focus event will be ignored.)

Since
  1.8.0

EAPI Eina_Bool ecore_imf_context_input_panel_show_on_demand_get | ( | Ecore_IMF_Context * | ctx | ) |

Get whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  `EINA_TRUE` if the input panel will be shown in case of only Mouse up event.

Since
  1.8.0

References EINA_FALSE.