Tizen(Headed) Native API  6.5

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.

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

Functions

Eina_Listecore_imf_context_available_ids_get (void)
 Gets the list of the available Input Method Context ids.
Eina_Listecore_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.
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.
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.
const Ecore_IMF_Context_Infoecore_imf_context_info_by_id_get (const char *id)
 Retrieves the info for the Input Method Context with id.
Ecore_IMF_Contextecore_imf_context_add (const char *id)
 Creates a new Input Method Context defined by the given id.
const Ecore_IMF_Context_Infoecore_imf_context_info_get (Ecore_IMF_Context *ctx)
 Retrieves the info for the given Input Method Context.
void ecore_imf_context_del (Ecore_IMF_Context *ctx)
 Deletes the given Input Method Context and free its memory.
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.
void * ecore_imf_context_client_window_get (Ecore_IMF_Context *ctx)
 Gets the client window of the Input Method Context.
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.
void * ecore_imf_context_client_canvas_get (Ecore_IMF_Context *ctx)
 Gets the client canvas of the Input Method Context.
EINA_DEPRECATED void ecore_imf_context_show (Ecore_IMF_Context *ctx)
 Asks the Input Method Context to show itself.
EINA_DEPRECATED void ecore_imf_context_hide (Ecore_IMF_Context *ctx)
 Asks the Input Method Context to hide itself.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Eina_Bool ecore_imf_context_prediction_allow_get (Ecore_IMF_Context *ctx)
 Gets whether the IM context should allow to use the text prediction.
void ecore_imf_context_autocapital_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type)
 Sets the autocapitalization type on the immodule.
Ecore_IMF_Autocapital_Type ecore_imf_context_autocapital_type_get (Ecore_IMF_Context *ctx)
 Gets the autocapitalization type.
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.
Ecore_IMF_Input_Hints ecore_imf_context_input_hint_get (Ecore_IMF_Context *ctx)
 Gets the value of input hint.
EINA_DEPRECATED 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 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.
void ecore_imf_context_input_panel_show (Ecore_IMF_Context *ctx)
 Asks the Input Method Context to show the input panel (virtual keyboard).
void ecore_imf_context_input_panel_hide (Ecore_IMF_Context *ctx)
 Asks the Input Method Context to hide the input panel.
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.
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.
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.
int ecore_imf_context_input_panel_layout_variation_get (Ecore_IMF_Context *ctx)
 Gets the layout variation of the current active input panel.
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.
Ecore_IMF_Input_Panel_Lang ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx)
 Gets the language of the input panel.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Eina_Bool ecore_imf_context_input_panel_caps_lock_mode_get (Ecore_IMF_Context *ctx)
 Gets the caps lock mode on the input panel.
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.
Ecore_IMF_Input_Panel_State ecore_imf_context_input_panel_state_get (Ecore_IMF_Context *ctx)
 Gets state of current active input panel.
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.
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.
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.
void ecore_imf_context_input_panel_event_callback_clear (Ecore_IMF_Context *ctx)
 Deletes all input panel callback on the context ctx.
void ecore_imf_context_input_panel_language_locale_get (Ecore_IMF_Context *ctx, char **lang)
 Gets the current language locale of the input panel.
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.
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.
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.
void ecore_imf_context_bidi_direction_set (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction)
 Sets the bidirectionality at the current cursor position.
Ecore_IMF_BiDi_Direction ecore_imf_context_bidi_direction_get (Ecore_IMF_Context *ctx)
 Gets the bidirectionality at the current cursor position.

Typedefs

typedef struct _Ecore_IMF_Context Ecore_IMF_Context
typedef struct
_Ecore_IMF_Context_Class 
Ecore_IMF_Context_Class
typedef struct
_Ecore_IMF_Context_Info 
Ecore_IMF_Context_Info
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
typedef enum
_Ecore_IMF_Device_Subclass 
Ecore_IMF_Device_Subclass

Typedef Documentation

typedef struct _Ecore_IMF_Context Ecore_IMF_Context

An Input Method Context

An Input Method Context class

An Input Method Context info

A general class of device

Since (EFL) :
1.14

A general subclass of device

Since (EFL) :
1.14

Called when a Ecore_IMF event happens.

See also:
ecore_imf_context_event_callback_add()

Enumeration Type Documentation

Enumeration for defining the types of Ecore_IMF_Device_Class.

Since (EFL) :
1.14
Enumerator:
ECORE_IMF_DEVICE_CLASS_NONE 

Not a device

Since (EFL) :
1.14
ECORE_IMF_DEVICE_CLASS_SEAT 

The user/seat (the user themselves)

Since (EFL) :
1.14
ECORE_IMF_DEVICE_CLASS_KEYBOARD 

A regular keyboard, numberpad or attached buttons

Since (EFL) :
1.14
ECORE_IMF_DEVICE_CLASS_MOUSE 

A mouse, trackball or touchpad relative motion device

Since (EFL) :
1.14
ECORE_IMF_DEVICE_CLASS_TOUCH 

A touchscreen with fingers or stylus

Since (EFL) :
1.14
ECORE_IMF_DEVICE_CLASS_PEN 

A special pen device

Since (EFL) :
1.14
ECORE_IMF_DEVICE_CLASS_POINTER 

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

Since (EFL) :
1.14
ECORE_IMF_DEVICE_CLASS_GAMEPAD 

A gamepad controller or joystick

Since (EFL) :
1.14

Enumeration for defining the types of Ecore_IMF_Device_Subclass.

Since (EFL) :
1.14
Enumerator:
ECORE_IMF_DEVICE_SUBCLASS_NONE 

Not a device

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_FINGER 

The normal flat of your finger

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_FINGERNAIL 

A fingernail

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_KNUCKLE 

A Knuckle

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_PALM 

The palm of a users hand

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_HAND_SIZE 

The side of your hand

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_HAND_FLAT 

The flat of your hand

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_PEN_TIP 

The tip of a pen

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_TRACKPAD 

A trackpad style mouse

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_TRACKPOINT 

A trackpoint style mouse

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_TRACKBALL 

A trackball style mouse

Since (EFL) :
1.14
ECORE_IMF_DEVICE_SUBCLASS_REMOCON 

A remote controller

Since :
4.0
ECORE_IMF_DEVICE_SUBCLASS_VIRTUAL_KEYBOARD 

A virtual keyboard

Since :
4.0

Autocapitalization Types.

See also:
ecore_imf_context_autocapital_type_set()
Enumerator:
ECORE_IMF_AUTOCAPITAL_TYPE_NONE 

No auto-capitalization when typing

Since (EFL) :
1.1
ECORE_IMF_AUTOCAPITAL_TYPE_WORD 

Autocapitalize each word typed

Since (EFL) :
1.1
ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE 

Autocapitalize the start of each sentence

Since (EFL) :
1.1
ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER 

Autocapitalize all letters

Since (EFL) :
1.1

Enumeration for defining the types of Ecore_IMF bidirectionality.

Since (EFL) :
1.12
Enumerator:
ECORE_IMF_BIDI_DIRECTION_NEUTRAL 

The Neutral mode

Since (EFL) :
1.12
ECORE_IMF_BIDI_DIRECTION_LTR 

The Left to Right mode

Since (EFL) :
1.12
ECORE_IMF_BIDI_DIRECTION_RTL 

The Right to Left mode

Since (EFL) :
1.12

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 (EFL) :
1.2
ECORE_IMF_CALLBACK_PREEDIT_END 

"PREEDIT_END" is called when a preediting sequence has been completed or canceled.

Since (EFL) :
1.2
ECORE_IMF_CALLBACK_PREEDIT_CHANGED 

"PREEDIT_CHANGED" is called whenever the preedit sequence currently being entered has changed.

Since (EFL) :
1.2
ECORE_IMF_CALLBACK_COMMIT 

"COMMIT" is called when a complete input sequence has been entered by the user

Since (EFL) :
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 (EFL) :
1.2
ECORE_IMF_CALLBACK_SELECTION_SET 

"SELECTION_SET" is called when the input method needs to set the selection

Since (EFL) :
1.9
ECORE_IMF_CALLBACK_PRIVATE_COMMAND_SEND 

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

Since (EFL) :
1.12
ECORE_IMF_CALLBACK_COMMIT_CONTENT 

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

Since (EFL) :
1.20
Since :
4.0
ECORE_IMF_CALLBACK_TRANSACTION_START 

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

Since (EFL) :
1.21
Since :
5.0
ECORE_IMF_CALLBACK_TRANSACTION_END 

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

Since (EFL) :
1.21
Since :
5.0

Enum containing candidate word panel state notifications.

Enumerator:
ECORE_IMF_CANDIDATE_PANEL_SHOW 

Notification after the display of the candidate word panel

Since (EFL) :
1.7
ECORE_IMF_CANDIDATE_PANEL_HIDE 

Notification prior to the dismissal of the candidate word panel

Since (EFL) :
1.7

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

Enumeration for defining the types of Ecore_IMF Input Hints.

Since (EFL) :
1.12
Enumerator:
ECORE_IMF_INPUT_HINT_NONE 

No active hints

Since (EFL) :
1.12
ECORE_IMF_INPUT_HINT_AUTO_COMPLETE 

Suggest word auto completion

Since (EFL) :
1.12
ECORE_IMF_INPUT_HINT_SENSITIVE_DATA 

Typed text should not be stored.

Since (EFL) :
1.12
ECORE_IMF_INPUT_HINT_MULTILINE 

Multiline text

Since (EFL) :
1.18
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DATE 

Autofill hint for a credit card expiration date

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DAY 

Autofill hint for a credit card expiration day

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_MONTH 

Autofill hint for a credit card expiration month

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_YEAR 

Autofill hint for a credit card expiration year

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_NUMBER 

Autofill hint for a credit card number

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_EMAIL_ADDRESS 

Autofill hint for an email address

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_NAME 

Autofill hint for a user's real name

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_PHONE 

Autofill hint for a phone number

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_ADDRESS 

Autofill hint for a postal address

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_CODE 

Autofill hint for a postal code

Deprecated:
since 1.24 since_tizen 6.0
ECORE_IMF_INPUT_HINT_AUTOFILL_ID 

Autofill hint for a user's ID

Deprecated:
since 1.24 since_tizen 6.0

Types for Ecore_IMF input mode

Enum containing input panel events.

Enumerator:
ECORE_IMF_INPUT_PANEL_STATE_EVENT 

called when the state of the input panel is changed.

Since (EFL) :
1.7
ECORE_IMF_INPUT_PANEL_LANGUAGE_EVENT 

called when the language of the input panel is changed.

Since (EFL) :
1.7
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT 

called when the shift key state of the input panel is changed

Since (EFL) :
1.7
ECORE_IMF_INPUT_PANEL_GEOMETRY_EVENT 

called when the size of the input panel is changed.

Since (EFL) :
1.7
ECORE_IMF_CANDIDATE_PANEL_STATE_EVENT 

called when the state of the candidate word panel is changed.

Since (EFL) :
1.7
ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT 

called when the size of the candidate word panel is changed.

Since (EFL) :
1.7
ECORE_IMF_INPUT_PANEL_KEYBOARD_MODE_EVENT 

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

Since (EFL) :
1.20

Enum containing keyboard mode states.

Enumerator:
ECORE_IMF_INPUT_PANEL_HW_KEYBOARD_MODE 
Since (EFL) :
1.20
ECORE_IMF_INPUT_PANEL_SW_KEYBOARD_MODE 
Since (EFL) :
1.20

Input panel (virtual keyboard) language modes.

See also:
ecore_imf_context_input_panel_language_set()
Enumerator:
ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC 

Automatic

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_LANG_ALPHABET 

Alphabet

Since (EFL) :
1.2

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 (EFL) :
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 (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD 

Like normal, but no auto-correct, no auto-capitalization etc.

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME 

Date and time layout

Since (EFL) :
1.8
ECORE_IMF_INPUT_PANEL_LAYOUT_EMOTICON 

Emoticon layout

Since (EFL) :
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 (EFL) :
1.19
Since :
3.0

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

Since (EFL) :
1.12
Enumerator:
ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_NORMAL 

The plain normal layout

Since (EFL) :
1.12
ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME 

Filename layout. Symbols such as '/' should be disabled.

Since (EFL) :
1.12
ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_PERSON_NAME 

The name of a person.

Since (EFL) :
1.12

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

Since (EFL) :
1.8
Enumerator:
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL 

The plain normal number layout

Since (EFL) :
1.8
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED 

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

Since (EFL) :
1.8
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL 

The number layout to allow decimal point to provide fractional value

Since (EFL) :
1.8
ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL 

The number layout to allow decimal point and negative sign

Since (EFL) :
1.8

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

Since (EFL) :
1.12
Enumerator:
ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL 

The normal password layout

Since (EFL) :
1.12
ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY 

The password layout to allow only number

Since (EFL) :
1.12

"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 (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE 

Done

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO 

Go

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN 

Join

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN 

Login

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT 

Next

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH 

Search or magnifier icon

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND 

Send

Since (EFL) :
1.2
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN 

Sign-in

Since (EFL) :
1.8

Enum containing input shift mode states.

Enumerator:
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF 
Since (EFL) :
1.7
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON 
Since (EFL) :
1.7

Enum containing input panel state notifications.

Enumerator:
ECORE_IMF_INPUT_PANEL_STATE_SHOW 

Notification after the display of the input panel

Since (EFL) :
1.7
ECORE_IMF_INPUT_PANEL_STATE_HIDE 

Notification prior to the dismissal of the input panel

Since (EFL) :
1.7
ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW 

Notification prior to the display of the input panel

Since (EFL) :
1.7

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

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 (EFL) :
1.7

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 style types

See also:
ecore_imf_context_preedit_string_with_attributes_get()
Enumerator:
ECORE_IMF_PREEDIT_TYPE_NONE 

None style

Since (EFL) :
1.1
ECORE_IMF_PREEDIT_TYPE_SUB1 

Substring style 1(Underline)

Since (EFL) :
1.1
ECORE_IMF_PREEDIT_TYPE_SUB2 

Substring style 2(Reverse)

Since (EFL) :
1.1
ECORE_IMF_PREEDIT_TYPE_SUB3 

Substring style 3(Highlight)

Since (EFL) :
1.1
ECORE_IMF_PREEDIT_TYPE_SUB4 

Substring style 4

Since (EFL) :
1.8
ECORE_IMF_PREEDIT_TYPE_SUB5 

Substring style 5

Since (EFL) :
1.8
ECORE_IMF_PREEDIT_TYPE_SUB6 

Substring style 6

Since (EFL) :
1.8
ECORE_IMF_PREEDIT_TYPE_SUB7 

Substring style 7

Since (EFL) :
1.8

Function Documentation

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

Parameters:
idThe Input Method Context id.
Returns:
A newly allocated Input Method Context; on failure it returns NULL.
Since :
2.3.1
Examples:
ecore_imf_example.c.

Gets the autocapitalization type.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
The autocapital type being used by ctx.
Since (EFL) :
1.1.0
Since :
2.3.1

Sets the autocapitalization type on the immodule.

Parameters:
ctxAn Ecore_IMF_Context.
autocapital_typethe autocapitalization type.
Note:
Default type is ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE.
Since (EFL) :
1.1.0
Since :
2.3.1

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_typeA string containing the canvas type.
Returns:
Return an Eina_List of strings; on failure it returns NULL.
Since :
2.3.1

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.
Since :
2.3.1

Gets the bidirectionality at the current cursor position.

Since (EFL) :
1.12.0
Parameters:
[in]ctxAn Ecore_IMF_Context
Returns:
The direction mode
Since :
2.3.1

Sets the bidirectionality at the current cursor position.

Since (EFL) :
1.12.0
Parameters:
[in]ctxAn Ecore_IMF_Context
[in]directionThe direction mode
Since :
2.3.1
Examples:
ecore_imf_example.c.
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:
ctxAn Ecore_IMF_Context.
xtop-left x co-ordinate of the candidate panel
ytop-left y co-ordinate of the candidate panel
wwidth of the candidate panel
hheight of the candidate panel
Since (EFL) :
1.3
Since :
2.3.1

Gets the client canvas of the Input Method Context.

See ecore_imf_context_client_canvas_set for more details.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
Return the client canvas.
Since (EFL) :
1.1.0
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
canvasThe client canvas. This may be NULL to indicate that the previous client canvas no longer exists.
Since :
2.3.1
Examples:
ecore_imf_example.c.

Gets the client window of the Input Method Context.

See ecore_imf_context_client_window_set for more details.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
Return the client window.
Since (EFL) :
1.1.0
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
windowThe client window. This may be NULL to indicate that the previous client window no longer exists.
Since :
2.3.1

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

Deprecated:
Deprecated since 5.5.
Parameters:
ctxAn Ecore_IMF_Context.
Since (EFL) :
1.1.0
Since :
2.3.1

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

Deprecated:
Deprecated since 5.5.
Parameters:
ctxAn Ecore_IMF_Context.
Since (EFL) :
1.1.0
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
xcursor x position.
ycursor y position.
wcursor width.
hcursor height.
Since (EFL) :
1.1.0
Since :
2.3.1
Examples:
ecore_imf_example.c.
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:
ctxAn Ecore_IMF_Context.
cursor_posNew cursor position in characters.
Since :
2.3.1
Examples:
ecore_imf_example.c.
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_typeA string containing the canvas type.
Returns:
Return a string containing the id of the default Input Method Context; on failure it returns NULL.
Since :
2.3.1
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.
Since :
2.3.1
Examples:
ecore_imf_example.c.

Deletes the given Input Method Context and free its memory.

Parameters:
ctxAn Ecore_IMF_Context.
Since :
2.3.1
Examples:
ecore_imf_example.c.

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:
ctxEcore_IMF_Context to attach a callback to.
typeThe type of event that will trigger the callback
funcThe (callback) function to be called when the event is triggered
dataThe data pointer to be passed to func
Since (EFL) :
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);
Since :
2.3.1
Examples:
ecore_imf_example.c.

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:
ctxEcore_IMF_Context to remove a callback from.
typeThe type of event that was triggering the callback
funcThe (callback) function that was to be called when the event was triggered
Returns:
the data pointer
Since (EFL) :
1.2.0
Since :
2.3.1

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:
ctxAn Ecore_IMF_Context.
typeThe type of event defined by Ecore_IMF_Event_Type.
eventThe 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);
Since :
2.3.1
Examples:
ecore_imf_example.c.

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

Parameters:
ctxAn 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);
Since :
2.3.1
Examples:
ecore_imf_example.c.

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

Parameters:
ctxAn 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);
Since :
2.3.1
Examples:
ecore_imf_example.c.

Asks the Input Method Context to hide itself.

Deprecated:
Deprecated since 5.5. Use ecore_imf_context_input_panel_hide() instead.
Parameters:
ctxAn Ecore_IMF_Context.
Since :
2.3.1

Retrieves the info for the Input Method Context with id.

Parameters:
idThe 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);
             }
        }
   }
Since :
2.3.1

Retrieves the info for the given Input Method Context.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
Return a Ecore_IMF_Context_Info for the given Input Method Context; on failure it returns NULL.
Since :
2.3.1

Gets the value of input hint.

Parameters:
ctxAn Ecore_IMF_Context
Returns:
The value of input hint
Since (EFL) :
1.12
Since :
2.3.1

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

Parameters:
ctxAn Ecore_IMF_Context
hintsInput hint
Note:
The default input hint is ECORE_IMF_INPUT_HINT_AUTO_COMPLETE.
Since (EFL) :
1.12
Since :
2.3.1

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

See ecore_imf_context_input_mode_set for more details.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
The input mode being used by ctx.
Since :
2.3.1

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:
ctxAn Ecore_IMF_Context.
input_modeThe input mode to be used by ctx.
Since :
2.3.1

Gets the caps lock mode on the input panel.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
EINA_TRUE if the caps lock is turned on.
Since (EFL) :
1.2.0
Since :
2.3.1

Sets the caps lock mode on the input panel.

Parameters:
ctxAn Ecore_IMF_Context.
modeTurn on caps lock on the input panel if EINA_TRUE.
Since (EFL) :
1.2.0
Since :
2.3.1

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

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
Return the attribute to show the input panel automatically
Since (EFL) :
1.1.0
Since :
2.3.1

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

Parameters:
ctxAn Ecore_IMF_Context.
enabledIf true, the input panel will be shown when the widget is clicked or has focus.
Since (EFL) :
1.1.0
Since :
2.3.1
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 
)

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:
ctxAn Ecore_IMF_Context
typeevent type
functhe callback function
dataapplication-input panel specific data.
Since (EFL) :
1.3
Since :
2.3.1

Calls a given input panel callback on the context ctx.

Parameters:
ctxEcore_IMF_Context.
typeThe type of event that will trigger the callback
valuethe event value
Since (EFL) :
1.8.0
Since :
2.3.1

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:
ctxEcore_IMF_Context.
Since (EFL) :
1.8.0
Since :
2.3.1
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 
)

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

Parameters:
ctxAn Ecore_IMF_Context.
typeAn Ecore_IMF_Input_Panel_Event.
functhe callback function
Since (EFL) :
1.3
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
xtop-left x co-ordinate of the input panel
ytop-left y co-ordinate of the input panel
wwidth of the input panel
hheight of the input panel
Since (EFL) :
1.3
Since :
2.3.1

Asks the Input Method Context to hide the input panel.

Parameters:
ctxAn Ecore_IMF_Context.
Since (EFL) :
1.1.0
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
dataThe specific data to be got from the input panel
lenThe length of data
Since (EFL) :
1.2.0
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
dataThe specific data to be set to the input panel.
lenthe length of data, in bytes, to send to the input panel
Since (EFL) :
1.2.0
Since :
2.3.1

Gets the language of the input panel.

See ecore_imf_context_input_panel_language_set for more details.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
Ecore_IMF_Input_Panel_Lang
Since (EFL) :
1.1.0
Since :
2.3.1

Gets the current language locale of the input panel.

ex) fr_FR

Parameters:
ctxAn Ecore_IMF_Context.
langLocation to store the retrieved language string. The string retrieved must be freed with free().
Since (EFL) :
1.3
Since :
2.3.1

Sets the language of the input panel. This API can be used when you want to show the English keyboard.

Parameters:
ctxAn Ecore_IMF_Context.
langthe language to be set to the input panel.
Since (EFL) :
1.1.0
Since :
2.3.1

Gets the layout of the current active input panel.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
layout see Ecore_IMF_Input_Panel_Layout
Since (EFL) :
1.1.0
Since :
2.3.1

Sets the layout of the input panel.

Parameters:
ctxAn Ecore_IMF_Context.
layoutsee Ecore_IMF_Input_Panel_Layout
Note:
Default layout type is ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL.
Since (EFL) :
1.1.0
Since :
2.3.1

Gets the layout variation of the current active input panel.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
the layout variation
Since (EFL) :
1.8.0
Since :
2.3.1

Sets the layout variation of the current active input panel.

Parameters:
ctxAn Ecore_IMF_Context.
variationthe layout variation
Note:
Default layout variation type is NORMAL.
Since (EFL) :
1.8.0
Since :
2.3.1

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

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
EINA_TRUE if it should be disabled.
Since (EFL) :
1.2.0
Since :
2.3.1

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

Parameters:
ctxAn Ecore_IMF_Context.
disabledThe state
Since (EFL) :
1.2.0
Since :
2.3.1

Gets the "return" key type.

See also:
ecore_imf_context_input_panel_return_key_type_set() for more details
Parameters:
ctxAn Ecore_IMF_Context.
Returns:
The type of "return" key on the input panel
Since (EFL) :
1.2.0
Since :
2.3.1

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:
ctxAn Ecore_IMF_Context.
return_key_typeThe type of "return" key on the input panel
Note:
Default type is ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT.
Since (EFL) :
1.2.0
Since :
2.3.1

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

Parameters:
ctxAn Ecore_IMF_Context.
Since (EFL) :
1.1.0
Since :
2.3.1

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:
ctxAn Ecore_IMF_Context.
Returns:
EINA_TRUE if the input panel will be shown in case of only Mouse up event.
Since (EFL) :
1.8.0
Since :
2.3.1

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:
ctxAn Ecore_IMF_Context.
ondemandIf true, the input panel will be shown in case of only Mouse up event. (Focus event will be ignored.)
Since (EFL) :
1.8.0
Since :
2.3.1

Gets state of current active input panel.

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
The state of input panel.
Since (EFL) :
1.3
Since :
2.3.1

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

Parameters:
ctxAn Ecore_IMF_Context.
Returns:
EINA_TRUE if it allows to use the text prediction, otherwise EINA_FALSE.
Since (EFL) :
1.1.0
Since :
2.3.1

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:
ctxAn Ecore_IMF_Context.
predictionWhether the IM context should allow to use the text prediction.
Note:
Default value is EINA_TRUE.
Since (EFL) :
1.1.0
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
strLocation to store the retrieved string. The string retrieved must be freed with free().
cursor_posLocation to store position of cursor (in characters) within the preedit string.
Since :
2.3.1
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:
ctxAn Ecore_IMF_Context.
strLocation to store the retrieved string. The string retrieved must be freed with free().
attrsAn Eina_List of attributes
cursor_posLocation 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 (EFL) :
1.1.0
Since :
2.3.1
Examples:
ecore_imf_example.c.

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:
ctxAn 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);
Since :
2.3.1
Examples:
ecore_imf_example.c.
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 
)

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:
ctxAn Ecore_IMF_Context.
funcThe callback to be called.
dataThe data pointer to be passed to func
Since (EFL) :
1.9.0
Since :
2.3.1
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 
)

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:
ctxAn Ecore_IMF_Context.
funcThe callback to be called.
dataThe data pointer to be passed to func
Since :
2.3.1
Examples:
ecore_imf_example.c.

Asks the Input Method Context to show itself.

Deprecated:
Deprecated since 5.5. Use ecore_imf_context_input_panel_show() instead.
Parameters:
ctxAn Ecore_IMF_Context.
Since :
2.3.1

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:
ctxAn Ecore_IMF_Context.
use_preeditWhether the IM context should use the preedit string.
Since :
2.3.1

Variable Documentation

Since :
3.0