From: InHong Han Date: Tue, 7 Feb 2017 05:56:11 +0000 (+0900) Subject: Support to get keyboard mode manually X-Git-Tag: submit/tizen/20170208.102507~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8b7106480ea7c7e8a39bb58f54a2dbbd0b7f6add;p=platform%2Fcore%2Fuifw%2Fisf.git Support to get keyboard mode manually Change-Id: I0c989fe2d757d9543a65e3d6edc24270b9a8b5b1 --- diff --git a/ism/demos/isf_imcontrol_efl.cpp b/ism/demos/isf_imcontrol_efl.cpp index 0dcf0116..0c1c7b02 100644 --- a/ism/demos/isf_imcontrol_efl.cpp +++ b/ism/demos/isf_imcontrol_efl.cpp @@ -49,6 +49,7 @@ static void test_show_ise_selector (void *data, Evas_Object *obj, void *event_in static void test_show_ise_option (void *data, Evas_Object *obj, void *event_info); static void test_is_ime_enabled (void *data, Evas_Object *obj, void *event_info); static void test_get_recent_ise_geometry_get (void *data, Evas_Object *obj, void *event_info); +static void test_input_panel_keyboard_mode_get (void *data, Evas_Object *obj, void *event_info); struct _menu_item { const char *name; @@ -76,6 +77,7 @@ static struct _menu_item imcontrol_menu_its[] = { { "SHOW ISE OPTION", test_show_ise_option }, { "IS IME ENABLED", test_is_ime_enabled }, { "GET RECENT ISE GEOMETRY", test_get_recent_ise_geometry_get }, + { "INPUT PANEL KEYBOARD MODE GET", test_input_panel_keyboard_mode_get }, /* do not delete below */ { NULL, NULL} @@ -314,6 +316,16 @@ static void test_get_recent_ise_geometry_get (void *data, Evas_Object *obj, void } } +static void test_input_panel_keyboard_mode_get (void *data, Evas_Object *obj, void *event_info) +{ + Ecore_IMF_Input_Panel_Keyboard_Mode mode; + + if (imf_context != NULL) { + mode = ecore_imf_context_keyboard_mode_get (imf_context); + LOGD ("get keyboard mode : %d\n", (int)mode); + } +} + static char *gli_label_get (void *data, Evas_Object *obj, const char *part) { int j = (int)(reinterpret_cast(data)); diff --git a/ism/extras/wayland_immodule/wayland_imcontext.c b/ism/extras/wayland_immodule/wayland_imcontext.c index eb0b1e26..ab351b00 100644 --- a/ism/extras/wayland_immodule/wayland_imcontext.c +++ b/ism/extras/wayland_immodule/wayland_imcontext.c @@ -3189,6 +3189,12 @@ wayland_im_context_bidi_direction_set(Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Dir } // +Ecore_IMF_Input_Panel_Keyboard_Mode +wayland_im_context_input_panel_keyboard_mode_get(Ecore_IMF_Context *ctx EINA_UNUSED) +{ + return hw_keyboard_mode ? ECORE_IMF_INPUT_PANEL_HW_KEYBOARD_MODE : ECORE_IMF_INPUT_PANEL_SW_KEYBOARD_MODE; +} + WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager) { WaylandIMContext *context = calloc(1, sizeof(WaylandIMContext)); diff --git a/ism/extras/wayland_immodule/wayland_imcontext.h b/ism/extras/wayland_immodule/wayland_imcontext.h index dec4fcc5..e0372f92 100644 --- a/ism/extras/wayland_immodule/wayland_imcontext.h +++ b/ism/extras/wayland_immodule/wayland_imcontext.h @@ -119,6 +119,9 @@ void wayland_im_context_bidi_direction_set(Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction bidi_direction); // +Ecore_IMF_Input_Panel_Keyboard_Mode +wayland_im_context_input_panel_keyboard_mode_get(Ecore_IMF_Context *ctx); + WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager); extern int _ecore_imf_wayland_log_dom; diff --git a/ism/extras/wayland_immodule/wayland_module.c b/ism/extras/wayland_immodule/wayland_module.c index 991d8ba4..7832b98a 100644 --- a/ism/extras/wayland_immodule/wayland_module.c +++ b/ism/extras/wayland_immodule/wayland_module.c @@ -78,7 +78,8 @@ static Ecore_IMF_Context_Class wayland_imf_class = wayland_im_context_input_panel_language_locale_get, /* input_panel_language_locale_get */ NULL, /* candidate_window_geometry_get */ wayland_im_context_input_hint_set, /* input_hint_set */ - wayland_im_context_bidi_direction_set /* bidi_direction_set */ + wayland_im_context_bidi_direction_set, /* bidi_direction_set */ + wayland_im_context_input_panel_keyboard_mode_get /* input_panel_keyboard_mode_get */ }; static struct wl_text_input_manager *text_input_manager = NULL;