Ecore Input Method Context Functions
Ecore » Ecore_IMF - Ecore Input Method Library Functions

## Data Structures

struct | _Ecore_IMF_Event_Preedit_Start
| The structure type used with the Preedit_Start Input Method event. More...
struct | _Ecore_IMF_Event_Preedit_End
| The structure type used with the Preedit_End Input Method event. More...
struct | _Ecore_IMF_Event_Preedit_Changed
| The structure type used with the Preedit_Changed Input Method event. More...
struct | _Ecore_IMF_Event_Commit
| The structure type used with the Commit Input Method event. More...
struct | _Ecore_IMF_Event_Delete_Surrounding
| The structure type used with the Delete_Surrounding Input Method event. More...
struct | _Ecore_IMF_Event_Selection
| The structure type used with the Selection Input Method event. More...
struct | _Ecore_IMF_Event_Commit_Content
| The structure type used with the Commit_Content Input Method event. More...
struct | _Ecore_IMF_Event_Mouse_Down
| The structure type used with the Mouse_Down event. More...
struct | _Ecore_IMF_Event_Mouse_Up
| The structure type used with the Mouse_Up event. More...
struct | _Ecore_IMF_Event_Mouse_In
| The structure type used with the Mouse_In event. More...
struct | _Ecore_IMF_Event_Mouse_Out
| The structure type used with the Mouse_Out event. More...
struct | _Ecore_IMF_Event_Mouse_Move
| The structure type used with the Mouse_Move event. More...
struct | _Ecore_IMF_Event_Mouse_Wheel
| The structure type used with the Mouse_Wheel event. More...
struct | _Ecore_IMF_Event_Key_Down
| The structure type used with the Key_Down event. More...
struct | _Ecore_IMF_Event_Key_Up
| The structure type used with the Key_Up event. More...
union | _Ecore_IMF_Event
| A union of IMF events. More...
struct | _Ecore_IMF_Preedit_Attr
| Structure that contains preedit attribute information. More...
struct | _Ecore_IMF_Context_Class
| Structure used when creating a new Input Method Context. More...
struct | _Ecore_IMF_Context_Info
| A IMF structure containing context information. More...

## 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_Commit_Content | Ecore_IMF_Event_Commit_Content
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)
| Called when a Ecore_IMF event happens.
typedef enum _Ecore_IMF_Device_Class | Ecore_IMF_Device_Class
| A general class of device.
typedef enum _Ecore_IMF_Device_Subclass | Ecore_IMF_Device_Subclass
| A general subclass of device.

## 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 , ECORE_IMF_INPUT_PANEL_KEYBOARD_MODE_EVENT }
| Enum containing input panel events. More...
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 containing input panel state notifications. More...
enum | Ecore_IMF_Input_Panel_Shift_Mode { ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF , ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON }
| Enum containing input shift mode states. More...
enum | Ecore_IMF_Candidate_Panel_State { ECORE_IMF_CANDIDATE_PANEL_SHOW , ECORE_IMF_CANDIDATE_PANEL_HIDE }
| Enum containing candidate word panel state notifications. More...
enum | Ecore_IMF_Input_Panel_Keyboard_Mode { ECORE_IMF_INPUT_PANEL_HW_KEYBOARD_MODE , ECORE_IMF_INPUT_PANEL_SW_KEYBOARD_MODE }
| Enum containing keyboard mode states. More...
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_CALLBACK_PRIVATE_COMMAND_SEND , ECORE_IMF_CALLBACK_COMMIT_CONTENT , ECORE_IMF_CALLBACK_TRANSACTION_START , ECORE_IMF_CALLBACK_TRANSACTION_END }
| 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 }
| Types 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 }
| Types 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 }
| Types 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
}

| Types for Ecore_IMF input mode.
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 ,
ECORE_IMF_INPUT_PANEL_LAYOUT_EMOTICON ,
ECORE_IMF_INPUT_PANEL_LAYOUT_VOICE
}

| 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_Hints {
ECORE_IMF_INPUT_HINT_NONE = 0 ,
ECORE_IMF_INPUT_HINT_AUTO_COMPLETE = 1 << 0 ,
ECORE_IMF_INPUT_HINT_SENSITIVE_DATA = 1 << 1 ,
ECORE_IMF_INPUT_HINT_MULTILINE = 1 << 2 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DATE = 0x100 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DAY = 0x200 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_MONTH = 0x300 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_YEAR = 0x400 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_NUMBER = 0x500 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_EMAIL_ADDRESS = 0x600 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_NAME = 0x700 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_PHONE = 0x800 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_ADDRESS = 0x900 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_CODE = 0xA00 ,
ECORE_IMF_INPUT_HINT_AUTOFILL_ID = 0xB00
}

| Enumeration for defining the types of Ecore_IMF Input Hints. More...
enum | Ecore_IMF_Input_Panel_Layout_Normal_Variation { ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_NORMAL , ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME , ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_PERSON_NAME }
| Enumeration for defining the types of Ecore_IMF Input Panel layout for normal variation. More...
enum | Ecore_IMF_Input_Panel_Layout_Numberonly_Variation { 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 }
| Enumeration for defining the types of Ecore_IMF Input Panel layout for numberonly variation. More...
enum | Ecore_IMF_Input_Panel_Layout_Password_Variation { ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL , ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY }
| Enumeration for defining the types of Ecore_IMF Input Panel layout for password variation. More...
enum | Ecore_IMF_BiDi_Direction { ECORE_IMF_BIDI_DIRECTION_NEUTRAL , ECORE_IMF_BIDI_DIRECTION_LTR , ECORE_IMF_BIDI_DIRECTION_RTL }
| Enumeration for defining the types of Ecore_IMF bidirectionality. More...
enum | _Ecore_IMF_Device_Class { ECORE_IMF_DEVICE_CLASS_NONE , ECORE_IMF_DEVICE_CLASS_SEAT , ECORE_IMF_DEVICE_CLASS_KEYBOARD , ECORE_IMF_DEVICE_CLASS_MOUSE , ECORE_IMF_DEVICE_CLASS_TOUCH , ECORE_IMF_DEVICE_CLASS_PEN , ECORE_IMF_DEVICE_CLASS_POINTER , ECORE_IMF_DEVICE_CLASS_GAMEPAD }
| Enumeration for defining the types of Ecore_IMF_Device_Class. More...

enum

_Ecore_IMF_Device_Subclass {
ECORE_IMF_DEVICE_SUBCLASS_NONE ,
ECORE_IMF_DEVICE_SUBCLASS_FINGER ,
ECORE_IMF_DEVICE_SUBCLASS_FINGERNAIL ,
ECORE_IMF_DEVICE_SUBCLASS_KNUCKLE ,
ECORE_IMF_DEVICE_SUBCLASS_PALM ,
ECORE_IMF_DEVICE_SUBCLASS_HAND_SIZE ,
ECORE_IMF_DEVICE_SUBCLASS_HAND_FLAT ,
ECORE_IMF_DEVICE_SUBCLASS_PEN_TIP ,
ECORE_IMF_DEVICE_SUBCLASS_TRACKPAD ,
ECORE_IMF_DEVICE_SUBCLASS_TRACKPOINT ,
ECORE_IMF_DEVICE_SUBCLASS_TRACKBALL
}

| Enumeration for defining the types of Ecore_IMF_Device_Subclass. More...

## Functions

EAPI Eina_List * | ecore_imf_context_available_ids_get (void)
| Gets the list of the available Input Method Context ids.
EAPI Eina_List * | ecore_imf_context_available_ids_by_canvas_type_get (const char *canvas_type)
| Gets the list of the available Input Method Context ids by canvas type.
EAPI const char * | ecore_imf_context_default_id_get (void)
| Gets the id of the default Input Method Context.
EAPI const char * | ecore_imf_context_default_id_by_canvas_type_get (const char *canvas_type)
| Gets the id of the default Input Method Context corresponding to a canvas type.
EAPI const Ecore_IMF_Context_Info * | ecore_imf_context_info_by_id_get (const char *id)
| Retrieves the info for the Input Method Context with `id`.
EAPI Ecore_IMF_Context * | ecore_imf_context_add (const char *id)
| Creates a new Input Method Context defined by the given id.
EAPI const Ecore_IMF_Context_Info * | ecore_imf_context_info_get (Ecore_IMF_Context *ctx)
| Retrieves the info for the given Input Method Context.
EAPI void | ecore_imf_context_del (Ecore_IMF_Context *ctx)
| Deletes the given Input Method Context and free its memory.
EAPI void | ecore_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window)
| Sets the client window for the Input Method Context; this is the Ecore_X_Window when using X11, Ecore_Win32_Window when using Win32, etc.
EAPI void * | ecore_imf_context_client_window_get (Ecore_IMF_Context *ctx)
| Gets the client window of the Input Method Context.
EAPI void | ecore_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *canvas)
| Sets the client canvas for the Input Method Context; this is the canvas in which the input appears.
EAPI void * | ecore_imf_context_client_canvas_get (Ecore_IMF_Context *ctx)
| Gets the client canvas of the Input Method Context.
EINA_DEPRECATED EAPI void | ecore_imf_context_show (Ecore_IMF_Context *ctx)
| Asks the Input Method Context to show itself.
EINA_DEPRECATED EAPI void | ecore_imf_context_hide (Ecore_IMF_Context *ctx)
| Asks the Input Method Context to hide itself.
EAPI void | ecore_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char **str, int *cursor_pos)
| Retrieves the current preedit string and cursor position for the Input Method Context.
EAPI void | ecore_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos)
| Retrieves the current preedit string, attributes and cursor position for the Input Method Context.
EAPI void | ecore_imf_context_focus_in (Ecore_IMF_Context *ctx)
| Notifies the Input Method Context that the widget to which its correspond has gained focus.
EAPI void | ecore_imf_context_focus_out (Ecore_IMF_Context *ctx)
| Notifies the Input Method Context that the widget to which its correspond has lost focus.
EAPI void | ecore_imf_context_reset (Ecore_IMF_Context *ctx)
| Notifies the Input Method Context that a change such as a change in cursor position has been made.
EAPI void | ecore_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos)
| Notifies the Input Method Context that a change in the cursor position has been made.
EAPI void | ecore_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int x, int y, int w, int h)
| Notifies the Input Method Context that a change in the cursor location has been made.
EAPI void | ecore_imf_context_use_preedit_set (Ecore_IMF_Context *ctx, Eina_Bool use_preedit)
| Sets whether the IM context should use the preedit string to display feedback.
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)
| Sets the callback to be used on surrounding_get request.
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)
| Sets the callback to be used on selection_get request.
EAPI void | ecore_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode)
| Sets the input mode used by the Ecore Input Context.
EAPI Ecore_IMF_Input_Mode | ecore_imf_context_input_mode_get (Ecore_IMF_Context *ctx)
| Gets the input mode being used by the Ecore Input Context.
EAPI Eina_Bool | ecore_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event)
| Allows an Ecore Input Context to internally handle an event.
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)
| Adds (registers) a callback function to a given context event.
EAPI void * | ecore_imf_context_event_callback_del (Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func)
| Deletes (unregisters) a callback function registered to a given context event.
EAPI void | ecore_imf_context_prediction_allow_set (Ecore_IMF_Context *ctx, Eina_Bool prediction)
| Sets whether the IM context should allow to use the text prediction.
EAPI Eina_Bool | ecore_imf_context_prediction_allow_get (Ecore_IMF_Context *ctx)
| Gets whether the IM context should allow to use the text prediction.
EAPI void | ecore_imf_context_autocapital_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type)
| Sets the autocapitalization type on the immodule.
EAPI Ecore_IMF_Autocapital_Type | ecore_imf_context_autocapital_type_get (Ecore_IMF_Context *ctx)
| Gets the autocapitalization type.
EAPI void | ecore_imf_context_input_hint_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints hints)
| Sets the input hint which allows input methods to fine-tune their behavior.
EAPI Ecore_IMF_Input_Hints | ecore_imf_context_input_hint_get (Ecore_IMF_Context *ctx)
| Gets the value of input hint.
EINA_DEPRECATED EAPI void | ecore_imf_context_control_panel_show (Ecore_IMF_Context *ctx)
| Asks the Input Method Context to show the control panel of using Input Method.
EINA_DEPRECATED EAPI void | ecore_imf_context_control_panel_hide (Ecore_IMF_Context *ctx)
| Asks the Input Method Context to hide the control panel of using Input Method.
EAPI void | ecore_imf_context_input_panel_show (Ecore_IMF_Context *ctx)
| Asks the Input Method Context to show the input panel (virtual keyboard).
EAPI void | ecore_imf_context_input_panel_hide (Ecore_IMF_Context *ctx)
| Asks the Input Method Context to hide the input panel.
EAPI void | ecore_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout)
| Sets the layout of the input panel.
EAPI Ecore_IMF_Input_Panel_Layout | ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx)
| Gets the layout of the current active input panel.
EAPI void | ecore_imf_context_input_panel_layout_variation_set (Ecore_IMF_Context *ctx, int variation)
| Sets the layout variation of the current active input panel.
EAPI int | ecore_imf_context_input_panel_layout_variation_get (Ecore_IMF_Context *ctx)
| Gets the layout variation of the current active input panel.
EAPI void | ecore_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang)
| Sets the language of the input panel.
EAPI Ecore_IMF_Input_Panel_Lang | ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx)
| Gets the language of the input panel.
EAPI void | ecore_imf_context_input_panel_enabled_set (Ecore_IMF_Context *ctx, Eina_Bool enabled)
| Sets whether the Input Method Context should request to show the input panel automatically when the widget has focus.
EAPI Eina_Bool | ecore_imf_context_input_panel_enabled_get (Ecore_IMF_Context *ctx)
| Gets whether the Input Method Context requests to show the input panel automatically.
EAPI void | ecore_imf_context_input_panel_imdata_set (Ecore_IMF_Context *ctx, const void *data, int len)
| Sets the input panel-specific data to deliver to the input panel.
EAPI void | ecore_imf_context_input_panel_imdata_get (Ecore_IMF_Context *ctx, void *data, int *len)
| Gets the specific data of the current active input panel.
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)
| Sets the "return" key type.
EAPI Ecore_IMF_Input_Panel_Return_Key_Type | ecore_imf_context_input_panel_return_key_type_get (Ecore_IMF_Context *ctx)
| Gets the "return" key type.
EAPI void | ecore_imf_context_input_panel_return_key_disabled_set (Ecore_IMF_Context *ctx, Eina_Bool disabled)
| Sets the return key on the input panel to be disabled.
EAPI Eina_Bool | ecore_imf_context_input_panel_return_key_disabled_get (Ecore_IMF_Context *ctx)
| Gets whether the return key on the input panel should be disabled or not.
EAPI void | ecore_imf_context_input_panel_caps_lock_mode_set (Ecore_IMF_Context *ctx, Eina_Bool mode)
| Sets the caps lock mode on the input panel.
EAPI Eina_Bool | ecore_imf_context_input_panel_caps_lock_mode_get (Ecore_IMF_Context *ctx)
| Gets the caps lock mode on the input panel.
EAPI void | ecore_imf_context_input_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h)
| Gets the position of the current active input panel.
EAPI Ecore_IMF_Input_Panel_State | ecore_imf_context_input_panel_state_get (Ecore_IMF_Context *ctx)
| Gets state of current active input panel.
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)
| Registers a callback function which will be called if there is change in input panel state,language,mode etc.
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))
| Unregisters a callback function which will be called if there is change in input panel state, language, mode etc.
EAPI void | ecore_imf_context_input_panel_event_callback_call (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, int value)
| Calls a given input panel callback on the context `ctx`.
EAPI void | ecore_imf_context_input_panel_event_callback_clear (Ecore_IMF_Context *ctx)
| Deletes all input panel callback on the context `ctx`.
EAPI void | ecore_imf_context_input_panel_language_locale_get (Ecore_IMF_Context *ctx, char **lang)
| Gets the current language locale of the input panel.
EAPI void | ecore_imf_context_candidate_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h)
| Gets the geometry information of the candidate panel.
EAPI void | ecore_imf_context_input_panel_show_on_demand_set (Ecore_IMF_Context *ctx, Eina_Bool ondemand)
| Sets whether the Input Method Context should request to show the input panel in case of only a user's explicit Mouse Up event.
EAPI Eina_Bool | ecore_imf_context_input_panel_show_on_demand_get (Ecore_IMF_Context *ctx)
| Gets whether the Input Method Context should request to show the input panel in case of only a user's explicit Mouse Up event.
EAPI void | ecore_imf_context_bidi_direction_set (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction)
| Sets the bidirectionality at the current cursor position.
EAPI Ecore_IMF_BiDi_Direction | ecore_imf_context_bidi_direction_get (Ecore_IMF_Context *ctx)
| Gets the bidirectionality at the current cursor position.
EAPI Ecore_IMF_Input_Panel_Keyboard_Mode | ecore_imf_context_keyboard_mode_get (Ecore_IMF_Context *ctx)
| Get the keyboard mode on the input panel.
EAPI void | ecore_imf_context_prediction_hint_set (Ecore_IMF_Context *ctx, const char *prediction_hint)
| Set the prediction hint string to deliver to the input panel.
EAPI void | ecore_imf_context_mime_type_accept_set (Ecore_IMF_Context *ctx, const char *mime_type)
| Sets the allowed MIME type to deliver to the input panel.
EAPI void | ecore_imf_context_input_panel_position_set (Ecore_IMF_Context *ctx, int x, int y)
| Sets the x,y coordinates of the input panel.
EAPI Eina_Bool | ecore_imf_context_prediction_hint_hash_set (Ecore_IMF_Context *ctx, const char *key, const char *value)
| Sets the prediction hint data at the specified key.
EAPI Eina_Bool | ecore_imf_context_prediction_hint_hash_del (Ecore_IMF_Context *ctx, const char *key)
| Removes the prediction hint data identified by a key.
EAPI const Eina_Hash * | ecore_imf_context_prediction_hint_hash_get (Ecore_IMF_Context *ctx)
| Gets the hash table of prediction hint data.

## 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

# Introduction

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.

# How to process key event for composition or prediction

To input Chinese, Japanese, Korean and other complex languages, the editor widget (as known as entry) should be connected with input method framework.
Each editor widget should have each input context to connect with input service framework.
Key event is processed by input method engine. The result is notified to application through ECORE_IMF_CALLBACK_PREEDIT_CHANGED and ECORE_IMF_CALLBACK_COMMIT event.
The following example demonstrates how to connect input method framework and handle preedit and commit string from input method framework.

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

# How to receive media contents from input method editor

Users sometimes wants to send images and other rich content with their input method editor (as known as virtual keyboard or soft keyboard).
According to this requirement, the way to receive the media content URI such as images and other rich content as well as text have been provided since 1.20.
The following code shows how to receive the media content URI.

#include <glib.h>
static void
_imf_event_commit_content_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
{
Ecore_IMF_Event_Commit_Content *commit_content = (Ecore_IMF_Event_Commit_Content *)event_info;
if (!commit_content) return;
// convert URI to filename
gchar *filepath = g_filename_from_uri(commit_content->content_uri, NULL, NULL);
printf("filepath : %s, description : %s, mime types : %s\n", filepath, commit_content->description, commit_content->mime_types);
// do something to use filepath
if (filepath)
g_free(filepath);
}
ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT_CONTENT, _imf_event_commit_content_cb, data);
ecore_imf_context_event_callback_add
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)
Adds (registers) a callback function to a given context event.
Definition ecore_imf_context.c:767
Ecore_IMF_Context
struct _Ecore_IMF_Context Ecore_IMF_Context
An Input Method Context.
Definition Ecore_IMF.h:198
ECORE_IMF_CALLBACK_COMMIT_CONTENT
@ ECORE_IMF_CALLBACK_COMMIT_CONTENT
"COMMIT_CONTENT" is called when the input method commits content such as an image
Definition Ecore_IMF.h:236
_Ecore_IMF_Event_Commit_Content::mime_types
const char * mime_types
The content MIME types.
Definition Ecore_IMF.h:583
_Ecore_IMF_Event_Commit_Content::content_uri
const char * content_uri
The content URI.
Definition Ecore_IMF.h:581
_Ecore_IMF_Event_Commit_Content::description
const char * description
The content description.
Definition Ecore_IMF.h:582

## Typedef Documentation

## Ecore_IMF_Event_Cb

typedef void(* Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info)

Called when a Ecore_IMF event happens.

See also
  ecore_imf_context_event_callback_add()

## Ecore_IMF_Device_Class

typedef enum _Ecore_IMF_Device_Class Ecore_IMF_Device_Class

A general class of device.

Since
  1.14

## Ecore_IMF_Device_Subclass

typedef enum _Ecore_IMF_Device_Subclass Ecore_IMF_Device_Subclass

A general subclass of device.

Since
  1.14

## Enumeration Type Documentation

## Ecore_IMF_Input_Panel_Event

enum Ecore_IMF_Input_Panel_Event

Enum containing input panel events.

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

ECORE_IMF_INPUT_PANEL_KEYBOARD_MODE_EVENT

called when the keyboard mode state of the input panel is changed

Since
  1.20

## Ecore_IMF_Input_Panel_State

enum Ecore_IMF_Input_Panel_State

Enum containing input panel state notifications.

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

## Ecore_IMF_Input_Panel_Shift_Mode

enum Ecore_IMF_Input_Panel_Shift_Mode

Enum containing input shift mode states.

Enumerator

ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF

Since
  1.7

ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON

Since
  1.7

## Ecore_IMF_Candidate_Panel_State

enum Ecore_IMF_Candidate_Panel_State

Enum containing candidate word panel state notifications.

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

## Ecore_IMF_Input_Panel_Keyboard_Mode

enum Ecore_IMF_Input_Panel_Keyboard_Mode

Enum containing keyboard mode states.

Enumerator

ECORE_IMF_INPUT_PANEL_HW_KEYBOARD_MODE

Since
  1.20

ECORE_IMF_INPUT_PANEL_SW_KEYBOARD_MODE

Since
  1.20

## Ecore_IMF_Callback_Type

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

ECORE_IMF_CALLBACK_PRIVATE_COMMAND_SEND

"PRIVATE_COMMAND_SEND" is called when the input method sends a private command

Since
  1.12

ECORE_IMF_CALLBACK_COMMIT_CONTENT

"COMMIT_CONTENT" is called when the input method commits content such as an image

Since
  1.20

ECORE_IMF_CALLBACK_TRANSACTION_START

"TRANSACTION_START" is called when a new transaction sequence starts.

Since
  1.21

ECORE_IMF_CALLBACK_TRANSACTION_END

"TRANSACTION_END" is called when a new transaction sequence starts.

Since
  1.21

## Ecore_IMF_Event_Type

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.

## Ecore_IMF_Keyboard_Modifiers

enum Ecore_IMF_Keyboard_Modifiers

Types 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

## Ecore_IMF_Keyboard_Locks

enum Ecore_IMF_Keyboard_Locks

Types 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

## Ecore_IMF_Mouse_Flags

enum Ecore_IMF_Mouse_Flags

Types 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.

## Ecore_IMF_Preedit_Type

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

## Ecore_IMF_Autocapital_Type

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

## Ecore_IMF_Input_Panel_Layout

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

ECORE_IMF_INPUT_PANEL_LAYOUT_EMOTICON

Emoticon layout.

Since
  1.10

ECORE_IMF_INPUT_PANEL_LAYOUT_VOICE

Voice layout, but if the IME does not support voice layout, then normal layout will be shown.

Since
  1.19

## Ecore_IMF_Input_Panel_Lang

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

## Ecore_IMF_Input_Panel_Return_Key_Type

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

## Ecore_IMF_Input_Hints

enum Ecore_IMF_Input_Hints

Enumeration for defining the types of Ecore_IMF Input Hints.

Since
  1.12

Enumerator

ECORE_IMF_INPUT_HINT_NONE

No active hints.

Since
  1.12

ECORE_IMF_INPUT_HINT_AUTO_COMPLETE

Suggest word auto completion.

Since
  1.12

ECORE_IMF_INPUT_HINT_SENSITIVE_DATA

Typed text should not be stored.

Since
  1.12

ECORE_IMF_INPUT_HINT_MULTILINE

Multiline text.

Since
  1.18

ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DATE

Autofill hint for a credit card expiration date.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DAY

Autofill hint for a credit card expiration day.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_MONTH

Autofill hint for a credit card expiration month.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_YEAR

Autofill hint for a credit card expiration year.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_NUMBER

Autofill hint for a credit card number.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_EMAIL_ADDRESS

Autofill hint for an email address.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_NAME

Autofill hint for a user's real name.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_PHONE

Autofill hint for a phone number.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_ADDRESS

Autofill hint for a postal address.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_CODE

Autofill hint for a postal code.

Deprecated
  since 1.24

ECORE_IMF_INPUT_HINT_AUTOFILL_ID

Autofill hint for a user's ID.

Deprecated
  since 1.24

## Ecore_IMF_Input_Panel_Layout_Normal_Variation

enum Ecore_IMF_Input_Panel_Layout_Normal_Variation

Enumeration for defining the types of Ecore_IMF Input Panel layout for normal variation.

Since
  1.12

Enumerator

ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_NORMAL

The plain normal layout.

Since
  1.12

ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME

Filename layout.

Symbols such as '/' should be disabled.

Since
  1.12

ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_PERSON_NAME

The name of a person.

Since
  1.12

## Ecore_IMF_Input_Panel_Layout_Numberonly_Variation

enum Ecore_IMF_Input_Panel_Layout_Numberonly_Variation

Enumeration for defining the types of Ecore_IMF Input Panel layout for numberonly variation.

Since
  1.8

Enumerator

ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL

The plain normal number layout.

Since
  1.8

ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED

The number layout to allow a positive or negative sign at the start.

Since
  1.8

ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL

The number layout to allow decimal point to provide fractional value.

Since
  1.8

ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL

The number layout to allow decimal point and negative sign.

Since
  1.8

## Ecore_IMF_Input_Panel_Layout_Password_Variation

enum Ecore_IMF_Input_Panel_Layout_Password_Variation

Enumeration for defining the types of Ecore_IMF Input Panel layout for password variation.

Since
  1.12

Enumerator

ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL

The normal password layout.

Since
  1.12

ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY

The password layout to allow only number.

Since
  1.12

## Ecore_IMF_BiDi_Direction

enum Ecore_IMF_BiDi_Direction

Enumeration for defining the types of Ecore_IMF bidirectionality.

Since
  1.12

Enumerator

ECORE_IMF_BIDI_DIRECTION_NEUTRAL

The Neutral mode.

Since
  1.12

ECORE_IMF_BIDI_DIRECTION_LTR

The Left to Right mode.

Since
  1.12

ECORE_IMF_BIDI_DIRECTION_RTL

The Right to Left mode.

Since
  1.12

Examples
  ecore_imf_example.c.

## _Ecore_IMF_Device_Class

enum _Ecore_IMF_Device_Class

Enumeration for defining the types of Ecore_IMF_Device_Class.

Since
  1.14

Enumerator

ECORE_IMF_DEVICE_CLASS_NONE

Not a device.

Since
  1.14

ECORE_IMF_DEVICE_CLASS_SEAT

The user/seat (the user themselves).

Since
  1.14

ECORE_IMF_DEVICE_CLASS_KEYBOARD

A regular keyboard, numberpad or attached buttons.

Since
  1.14

ECORE_IMF_DEVICE_CLASS_MOUSE

A mouse, trackball or touchpad relative motion device.

Since
  1.14

ECORE_IMF_DEVICE_CLASS_TOUCH

A touchscreen with fingers or stylus.

Since
  1.14

ECORE_IMF_DEVICE_CLASS_PEN

A special pen device.

Since
  1.14

ECORE_IMF_DEVICE_CLASS_POINTER

A laser pointer, wii-style or "minority report" pointing device.

Since
  1.14

ECORE_IMF_DEVICE_CLASS_GAMEPAD

A gamepad controller or joystick.

Since
  1.14

## _Ecore_IMF_Device_Subclass

enum _Ecore_IMF_Device_Subclass

Enumeration for defining the types of Ecore_IMF_Device_Subclass.

Since
  1.14

Enumerator

ECORE_IMF_DEVICE_SUBCLASS_NONE

Not a device.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_FINGER

The normal flat of your finger.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_FINGERNAIL

A fingernail.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_KNUCKLE

A Knuckle.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_PALM

The palm of a users hand.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_HAND_SIZE

The side of your hand.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_HAND_FLAT

The flat of your hand.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_PEN_TIP

The tip of a pen.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_TRACKPAD

A trackpad style mouse.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_TRACKPOINT

A trackpoint style mouse.

Since
  1.14

ECORE_IMF_DEVICE_SUBCLASS_TRACKBALL

A trackball style mouse.

Since
  1.14

## Function Documentation

## ecore_imf_context_available_ids_get()

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

Gets 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.

## ecore_imf_context_available_ids_by_canvas_type_get()

EAPI Eina_List * ecore_imf_context_available_ids_by_canvas_type_get | ( | const char * | canvas_type | ) |

Gets the list of the available Input Method Context ids by canvas type.

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

Parameters

  canvas_type | A string containing the canvas type.

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

## ecore_imf_context_default_id_get()

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

Gets 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.

Examples
  ecore_imf_example.c.

References ecore_imf_context_default_id_by_canvas_type_get().

## ecore_imf_context_default_id_by_canvas_type_get()

EAPI const char * ecore_imf_context_default_id_by_canvas_type_get | ( | const char * | canvas_type | ) |

Gets the id of the default Input Method Context corresponding to a canvas type.

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

Parameters

  canvas_type | A string containing the canvas type.

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

References EINA_UNUSED.

Referenced by ecore_imf_context_default_id_get().

## ecore_imf_context_info_by_id_get()

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

Retrieves 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);
}
}
}
ecore_imf_context_info_by_id_get
EAPI const Ecore_IMF_Context_Info * ecore_imf_context_info_by_id_get(const char *id)
Retrieves the info for the Input Method Context with id.
Definition ecore_imf_context.c:135
ecore_imf_context_default_id_by_canvas_type_get
EAPI const char * ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type)
Gets the id of the default Input Method Context corresponding to a canvas type.
Definition ecore_imf_context.c:62
ecore_imf_context_add
EAPI Ecore_IMF_Context * ecore_imf_context_add(const char *id)
Creates a new Input Method Context defined by the given id.
Definition ecore_imf_context.c:146
Ecore_IMF_Context_Info
struct _Ecore_IMF_Context_Info Ecore_IMF_Context_Info
An Input Method Context info.
Definition Ecore_IMF.h:200
ecore_imf_context_default_id_get
EAPI const char * ecore_imf_context_default_id_get(void)
Gets the id of the default Input Method Context.
Definition ecore_imf_context.c:56

## ecore_imf_context_add()

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

Creates 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.

Examples
  ecore_imf_example.c.

References ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, ECORE_IMF_BIDI_DIRECTION_NEUTRAL, ecore_imf_context_autocapital_type_set(), ecore_imf_context_bidi_direction_set(), ecore_imf_context_input_hint_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_HINT_AUTO_COMPLETE, ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL, and EINA_TRUE.

## ecore_imf_context_info_get()

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

Retrieves 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.

## ecore_imf_context_del()

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

Deletes the given Input Method Context and free its memory.

Parameters

  ctx | An Ecore_IMF_Context.

Examples
  ecore_imf_example.c.

References eina_hash_free(), and EINA_LIST_FREE.

## ecore_imf_context_client_window_set()

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

Sets 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.

## ecore_imf_context_client_window_get()

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

Gets 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

## ecore_imf_context_client_canvas_set()

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

Sets 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.

Examples
  ecore_imf_example.c.

## ecore_imf_context_client_canvas_get()

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

Gets 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

## ecore_imf_context_show()

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

Asks the Input Method Context to show itself.

Parameters

  ctx | An Ecore_IMF_Context.

Deprecated
  use ecore_imf_context_input_panel_show() instead.

## ecore_imf_context_hide()

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

Asks the Input Method Context to hide itself.

Parameters

  ctx | An Ecore_IMF_Context.

Deprecated
  use ecore_imf_context_input_panel_hide() instead.

## ecore_imf_context_preedit_string_get()

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

Retrieves 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.

## ecore_imf_context_preedit_string_with_attributes_get()

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

Retrieves 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);
ecore_imf_context_preedit_string_with_attributes_get
EAPI void ecore_imf_context_preedit_string_with_attributes_get(Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos)
Retrieves the current preedit string, attributes and cursor position for the Input Method Context.
Definition ecore_imf_context.c:333
ECORE_IMF_PREEDIT_TYPE_SUB1
@ ECORE_IMF_PREEDIT_TYPE_SUB1
Substring style 1.
Definition Ecore_IMF.h:322
ECORE_IMF_PREEDIT_TYPE_SUB2
@ ECORE_IMF_PREEDIT_TYPE_SUB2
Substring style 2.
Definition Ecore_IMF.h:323
ECORE_IMF_PREEDIT_TYPE_SUB3
@ ECORE_IMF_PREEDIT_TYPE_SUB3
Substring style 3.
Definition Ecore_IMF.h:324
Eina_List
struct _Eina_List Eina_List
Type for a generic double linked list.
Definition eina_list.h:304
EINA_LIST_FOREACH
#define EINA_LIST_FOREACH(list, l, _data)
Definition for the macro to iterate over a list.
Definition eina_list.h:1415
EINA_LIST_FREE
#define EINA_LIST_FREE(list, data)
Definition for the macro to remove each list node while having access to each node's data.
Definition eina_list.h:1629
_Ecore_IMF_Preedit_Attr::preedit_type
Ecore_IMF_Preedit_Type preedit_type
preedit style type
Definition Ecore_IMF.h:758

Since
  1.1.0

Examples
  ecore_imf_example.c.

## ecore_imf_context_focus_in()

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

Notifies 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);
EVAS_CALLBACK_FOCUS_IN
@ EVAS_CALLBACK_FOCUS_IN
Focus In Event.
Definition Evas_Common.h:432
ecore_imf_context_focus_in
EAPI void ecore_imf_context_focus_in(Ecore_IMF_Context *ctx)
Notifies the Input Method Context that the widget to which its correspond has gained focus.
Definition ecore_imf_context.c:352
evas_object_event_callback_add
EVAS_API void evas_object_event_callback_add(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
Add (register) a callback function to a given Evas object event.
Definition evas_callbacks.c:478
Evas_Object
Efl_Canvas_Object Evas_Object
An Evas Object handle.
Definition Evas_Common.h:185

Examples
  ecore_imf_example.c.

## ecore_imf_context_focus_out()

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

Notifies 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);
EVAS_CALLBACK_FOCUS_OUT
@ EVAS_CALLBACK_FOCUS_OUT
Focus Out Event.
Definition Evas_Common.h:433
ecore_imf_context_reset
EAPI void ecore_imf_context_reset(Ecore_IMF_Context *ctx)
Notifies the Input Method Context that a change such as a change in cursor position has been made.
Definition ecore_imf_context.c:378
ecore_imf_context_focus_out
EAPI void ecore_imf_context_focus_out(Ecore_IMF_Context *ctx)
Notifies the Input Method Context that the widget to which its correspond has lost focus.
Definition ecore_imf_context.c:365

Examples
  ecore_imf_example.c.

## ecore_imf_context_reset()

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

Notifies 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);

Examples
  ecore_imf_example.c.

## ecore_imf_context_cursor_position_set()

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

Notifies 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.

Examples
  ecore_imf_example.c.

## ecore_imf_context_cursor_location_set()

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

Notifies 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

Examples
  ecore_imf_example.c.

## ecore_imf_context_use_preedit_set()

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

Sets 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().

## ecore_imf_context_retrieve_surrounding_callback_set()

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 )

Sets the callback to be used on surrounding_get request.

This callback will be called when the Input Method Context module requests the surrounding context. Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed.

Parameters

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

Examples
  ecore_imf_example.c.

## ecore_imf_context_retrieve_selection_callback_set()

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 )

Sets 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

## ecore_imf_context_input_mode_set()

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

Sets 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().

## ecore_imf_context_input_mode_get()

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

Gets 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`.

## ecore_imf_context_filter_event()

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

Allows 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);
EVAS_CALLBACK_KEY_DOWN
@ EVAS_CALLBACK_KEY_DOWN
Key Press Event.
Definition Evas_Common.h:430
ecore_imf_context_filter_event
EAPI Eina_Bool ecore_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event)
Allows an Ecore Input Context to internally handle an event.
Definition ecore_imf_context.c:544
ECORE_IMF_EVENT_KEY_DOWN
@ ECORE_IMF_EVENT_KEY_DOWN
Key Down event.
Definition Ecore_IMF.h:256
ecore_imf_evas_event_key_down_wrap
EAPI void ecore_imf_evas_event_key_down_wrap(Evas_Event_Key_Down *evas_event, Ecore_IMF_Event_Key_Down *imf_event)
Converts a "key_down" event from Evas to the corresponding event of Ecore_IMF.
Definition ecore_imf_evas.c:176
Evas_Event_Key_Down
struct _Evas_Event_Key_Down Evas_Event_Key_Down
Event structure for EVAS_CALLBACK_KEY_DOWN event callbacks.
Definition Evas_Legacy.h:154
Evas
Eo Evas
An opaque handle to an Evas canvas.
Definition Evas_Common.h:163
_Evas_Event_Key_Down::key
const char * key
The logical key : (eg shift+1 == exclamation).
Definition Evas_Legacy.h:320

Examples
  ecore_imf_example.c.

References EINA_FALSE.

## ecore_imf_context_event_callback_add()

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 )

Adds (registers) 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, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, ECORE_IMF_CALLBACK_SELECTION_SET, ECORE_IMF_CALLBACK_PRIVATE_COMMAND_SEND, ECORE_IMF_CALLBACK_COMMIT_CONTENT, ECORE_IMF_CALLBACK_TRANSACTION_START, and ECORE_IMF_CALLBACK_TRANSACTION_END.

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

#include <glib.h>
// example for handling commit event from input framework
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);
// example for receiving media content URI from input framework
@code
#include <glib.h>
static void
_imf_event_commit_content_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
{
Ecore_IMF_Event_Commit_Content *commit_content = (Ecore_IMF_Event_Commit_Content *)event;
if (!commit_content) return;
// convert URI to filename
gchar *filepath = g_filename_from_uri(commit_content->content_uri, NULL, NULL);
printf("filepath : %s, description : %s, mime types : %s\n", filepath, commit_content->description, commit_content->mime_types);
// do something to use filepath
if (filepath)
g_free(filepath);
}
ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT_CONTENT, _imf_event_commit_content_cb, data);
ECORE_IMF_CALLBACK_COMMIT
@ ECORE_IMF_CALLBACK_COMMIT
"COMMIT" is called when a complete input sequence has been entered by the user
Definition Ecore_IMF.h:232

Examples
  ecore_imf_example.c.

References eina_list_append().

## ecore_imf_context_event_callback_del()

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

Deletes (unregisters) 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().

## ecore_imf_context_prediction_allow_set()

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

Sets 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().

## ecore_imf_context_prediction_allow_get()

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

Gets 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.

## ecore_imf_context_autocapital_type_set()

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

Sets 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(), and ecore_imf_context_input_panel_layout_set().

## ecore_imf_context_autocapital_type_get()

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

Gets 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.

## ecore_imf_context_input_hint_set()

EAPI void ecore_imf_context_input_hint_set | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_Input_Hints | hints )

Sets the input hint which allows input methods to fine-tune their behavior.

Parameters

  ctx | An Ecore_IMF_Context
  hints | Input hint

Note
  The default input hint is `ECORE_IMF_INPUT_HINT_AUTO_COMPLETE`.

Since
  1.12

Referenced by ecore_imf_context_add().

## ecore_imf_context_input_hint_get()

EAPI Ecore_IMF_Input_Hints ecore_imf_context_input_hint_get | ( | Ecore_IMF_Context * | ctx | ) |

Gets the value of input hint.

Parameters

  ctx | An Ecore_IMF_Context

Returns
  The value of input hint

Since
  1.12

References ECORE_IMF_INPUT_HINT_NONE.

## ecore_imf_context_control_panel_show()

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

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

Parameters

  ctx | An Ecore_IMF_Context.

Since
  1.1.0

## ecore_imf_context_control_panel_hide()

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

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

Parameters

  ctx | An Ecore_IMF_Context.

Since
  1.1.0

## ecore_imf_context_input_panel_show()

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

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

Parameters

  ctx | An Ecore_IMF_Context.

Since
  1.1.0

## ecore_imf_context_input_panel_hide()

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

Asks 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().

## ecore_imf_context_input_panel_layout_set()

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

Sets 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

References ECORE_IMF_AUTOCAPITAL_TYPE_NONE, ecore_imf_context_autocapital_type_set(), and ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD.

Referenced by ecore_imf_context_add().

## ecore_imf_context_input_panel_layout_get()

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

Gets 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.

## ecore_imf_context_input_panel_layout_variation_set()

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

Sets 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

## ecore_imf_context_input_panel_layout_variation_get()

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

Gets the layout variation of the current active input panel.

Parameters

  ctx | An Ecore_IMF_Context.

Returns
  the layout variation

Since
  1.8.0

## ecore_imf_context_input_panel_language_set()

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

Sets 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

## ecore_imf_context_input_panel_language_get()

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

Gets 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.

## ecore_imf_context_input_panel_enabled_set()

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

Sets 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().

## ecore_imf_context_input_panel_enabled_get()

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

Gets 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.

## ecore_imf_context_input_panel_imdata_set()

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

Sets 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

## ecore_imf_context_input_panel_imdata_get()

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

Gets 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

## ecore_imf_context_input_panel_return_key_type_set()

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 )

Sets 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.
Regardless of return key type, return key event will be generated when pressing return key.

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

## ecore_imf_context_input_panel_return_key_type_get()

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

Gets 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 ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT.

## ecore_imf_context_input_panel_return_key_disabled_set()

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

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

Parameters

  ctx | An Ecore_IMF_Context.
  disabled | The state

Since
  1.2.0

## ecore_imf_context_input_panel_return_key_disabled_get()

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

Gets 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.

## ecore_imf_context_input_panel_caps_lock_mode_set()

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

Sets 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

## ecore_imf_context_input_panel_caps_lock_mode_get()

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

Gets 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.

## ecore_imf_context_input_panel_geometry_get()

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

Gets 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

## ecore_imf_context_input_panel_state_get()

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

Gets 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().

## ecore_imf_context_input_panel_event_callback_add()

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 )

Registers 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().

## ecore_imf_context_input_panel_event_callback_del()

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) )

Unregisters 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().

## ecore_imf_context_input_panel_event_callback_call()

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

Calls 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.

## ecore_imf_context_input_panel_event_callback_clear()

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

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

Deletes 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.

## ecore_imf_context_input_panel_language_locale_get()

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

Gets 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

## ecore_imf_context_candidate_panel_geometry_get()

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

Gets 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

## ecore_imf_context_input_panel_show_on_demand_set()

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

Sets whether the Input Method Context should request to show the input panel in case of only a 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

## ecore_imf_context_input_panel_show_on_demand_get()

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

Gets whether the Input Method Context should request to show the input panel in case of only a 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.

## ecore_imf_context_bidi_direction_set()

EAPI void ecore_imf_context_bidi_direction_set | ( | Ecore_IMF_Context * | ctx,
|  | Ecore_IMF_BiDi_Direction | direction )

Sets the bidirectionality at the current cursor position.

Since
  1.12.0

Parameters

  [in] | ctx | An Ecore_IMF_Context
  [in] | direction | The direction mode

Examples
  ecore_imf_example.c.

Referenced by ecore_imf_context_add().

## ecore_imf_context_bidi_direction_get()

EAPI Ecore_IMF_BiDi_Direction ecore_imf_context_bidi_direction_get | ( | Ecore_IMF_Context * | ctx | ) |

Gets the bidirectionality at the current cursor position.

Since
  1.12.0

Parameters

  [in] | ctx | An Ecore_IMF_Context

Returns
  The direction mode

References ECORE_IMF_BIDI_DIRECTION_NEUTRAL.

## ecore_imf_context_keyboard_mode_get()

EAPI Ecore_IMF_Input_Panel_Keyboard_Mode ecore_imf_context_keyboard_mode_get | ( | Ecore_IMF_Context * | ctx | ) |

Get the keyboard mode on the input panel.

Since
  1.20.0

Parameters

  [in] | ctx | An Ecore_IMF_Context

Returns
  the keyboard mode

References ECORE_IMF_INPUT_PANEL_SW_KEYBOARD_MODE.

## ecore_imf_context_prediction_hint_set()

EAPI void ecore_imf_context_prediction_hint_set | ( | Ecore_IMF_Context * | ctx,
|  | const char * | prediction_hint )

Set the prediction hint string to deliver to the input panel.

This API can be used when you want to set prediction hint to use intelligent reply suggestion service. The intelligent reply suggestion service generates reply candidates for given prediction hint. Example prediction hint: How are you? -> result: I'm fine, Not bad, I'm all right.

Since
  1.20.0

Parameters

  [in] | ctx | An Ecore_IMF_Context
  [in] | prediction_hint | The prediction hint string.

## ecore_imf_context_mime_type_accept_set()

EAPI void ecore_imf_context_mime_type_accept_set | ( | Ecore_IMF_Context * | ctx,
|  | const char * | mime_type )

Sets the allowed MIME type to deliver to the input panel.

Since
  1.20.0

Parameters

  [in] | ctx | An Ecore_IMF_Context
  [in] | mime_type | The allowed MIME type in entry

Example

const char *mime_type = "text/plain,image/png,application/pdf";
ecore_imf_context_mime_type_accept_set(imf_context, mime_type);
ecore_imf_context_mime_type_accept_set
EAPI void ecore_imf_context_mime_type_accept_set(Ecore_IMF_Context *ctx, const char *mime_type)
Sets the allowed MIME type to deliver to the input panel.
Definition ecore_imf_context.c:1447

## ecore_imf_context_input_panel_position_set()

EAPI void ecore_imf_context_input_panel_position_set | ( | Ecore_IMF_Context * | ctx,
|  | int | x,
|  | int | y )

Sets the x,y coordinates of the input panel.

Remarks
  This API can be used in floating mode.

Since
  1.21.0

Parameters

  [in] | ctx | An Ecore_IMF_Context
  | x | top-left x coordinate of the input panel
  | y | top-left y coordinate of the input panel

## ecore_imf_context_prediction_hint_hash_set()

EAPI Eina_Bool ecore_imf_context_prediction_hint_hash_set | ( | Ecore_IMF_Context * | ctx,
|  | const char * | key,
|  | const char * | value )

Sets the prediction hint data at the specified key.

Since
  1.21.0

Parameters

  [in] | ctx | An Ecore_IMF_Context
  | key | The key of the prediction hint
  | value | The data to replace

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

This function modifies the data of `key` with `data` in the hash associated `ctx`. If no entry is found, `data` is added to the hash associated `ctx` with the key `key`. On success this function returns EINA_TRUE, otherwise it returns `EINA_FALSE`.

References EINA_FALSE, eina_hash_set(), eina_hash_string_superfast_new(), and EINA_TRUE.

## ecore_imf_context_prediction_hint_hash_del()

EAPI Eina_Bool ecore_imf_context_prediction_hint_hash_del | ( | Ecore_IMF_Context * | ctx,
|  | const char * | key )

Removes the prediction hint data identified by a key.

Since
  1.21.0

Parameters

  [in] | ctx | An Ecore_IMF_Context
  | key | The key of the prediction hint

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise

This function removes the entry identified by `key` from the hash associated `ctx`.

References EINA_FALSE, and eina_hash_del().

## ecore_imf_context_prediction_hint_hash_get()

EAPI const Eina_Hash * ecore_imf_context_prediction_hint_hash_get | ( | Ecore_IMF_Context * | ctx | ) |

Gets the hash table of prediction hint data.

Since
  1.21.0

Parameters

  [in] | ctx | An Ecore_IMF_Context

Returns
  The prediction hint hash table