Support to get keyboard mode manually 30/113330/1
authorInHong Han <inhong1.han@samsung.com>
Tue, 7 Feb 2017 05:56:11 +0000 (14:56 +0900)
committerInHong Han <inhong1.han@samsung.com>
Tue, 7 Feb 2017 07:06:27 +0000 (16:06 +0900)
Change-Id: I0c989fe2d757d9543a65e3d6edc24270b9a8b5b1

ism/demos/isf_imcontrol_efl.cpp
ism/extras/wayland_immodule/wayland_imcontext.c
ism/extras/wayland_immodule/wayland_imcontext.h
ism/extras/wayland_immodule/wayland_module.c

index 0dcf011..0c1c7b0 100644 (file)
@@ -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<long>(data));
index eb0b1e2..ab351b0 100644 (file)
@@ -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));
index dec4fcc..e0372f9 100644 (file)
@@ -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;
index 991d8ba..7832b98 100644 (file)
@@ -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;