aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/modules/immodules/xim
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/ecore/src/modules/immodules/xim')
-rw-r--r--libraries/ecore/src/modules/immodules/xim/Makefile.in20
-rw-r--r--libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c48
2 files changed, 58 insertions, 10 deletions
diff --git a/libraries/ecore/src/modules/immodules/xim/Makefile.in b/libraries/ecore/src/modules/immodules/xim/Makefile.in
index 5b78946..775b574 100644
--- a/libraries/ecore/src/modules/immodules/xim/Makefile.in
+++ b/libraries/ecore/src/modules/immodules/xim/Makefile.in
@@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
48 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ 48 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
49 $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ 49 $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \
50 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ 50 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
51 $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ 51 $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
52 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ 52 $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
53 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ 53 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
54 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ 54 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
55 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ 55 $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
56 $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ 56 $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
57 $(top_srcdir)/configure.ac
58am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 57am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
59 $(ACLOCAL_M4) 58 $(ACLOCAL_M4)
60mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 59mkinstalldirs = $(install_sh) -d
61CONFIG_HEADER = $(top_builddir)/config.h 60CONFIG_HEADER = $(top_builddir)/config.h
62CONFIG_CLEAN_FILES = 61CONFIG_CLEAN_FILES =
63CONFIG_CLEAN_VPATH_FILES = 62CONFIG_CLEAN_VPATH_FILES =
@@ -189,6 +188,8 @@ EVAS_LIBS = @EVAS_LIBS@
189EVIL_CFLAGS = @EVIL_CFLAGS@ 188EVIL_CFLAGS = @EVIL_CFLAGS@
190EVIL_LIBS = @EVIL_LIBS@ 189EVIL_LIBS = @EVIL_LIBS@
191EXEEXT = @EXEEXT@ 190EXEEXT = @EXEEXT@
191EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
192EXOTIC_LIBS = @EXOTIC_LIBS@
192FGREP = @FGREP@ 193FGREP = @FGREP@
193GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ 194GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
194GLIB_CFLAGS = @GLIB_CFLAGS@ 195GLIB_CFLAGS = @GLIB_CFLAGS@
@@ -244,6 +245,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 245PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@ 246PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@ 247PKG_CONFIG = @PKG_CONFIG@
248PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
249PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
247POSUB = @POSUB@ 250POSUB = @POSUB@
248RANLIB = @RANLIB@ 251RANLIB = @RANLIB@
249SCIM_CFLAGS = @SCIM_CFLAGS@ 252SCIM_CFLAGS = @SCIM_CFLAGS@
@@ -254,6 +257,7 @@ SDL_LIBS = @SDL_LIBS@
254SED = @SED@ 257SED = @SED@
255SET_MAKE = @SET_MAKE@ 258SET_MAKE = @SET_MAKE@
256SHELL = @SHELL@ 259SHELL = @SHELL@
260SHM_OPEN_LIBS = @SHM_OPEN_LIBS@
257SSL_CFLAGS = @SSL_CFLAGS@ 261SSL_CFLAGS = @SSL_CFLAGS@
258SSL_LIBS = @SSL_LIBS@ 262SSL_LIBS = @SSL_LIBS@
259STRIP = @STRIP@ 263STRIP = @STRIP@
diff --git a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c
index ea7ee7f..01a3576 100644
--- a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c
+++ b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c
@@ -294,6 +294,10 @@ _ecore_imf_context_xim_focus_in(Ecore_IMF_Context *ctx)
294 imf_context_data = ecore_imf_context_data_get(ctx); 294 imf_context_data = ecore_imf_context_data_get(ctx);
295 ic = imf_context_data->ic; 295 ic = imf_context_data->ic;
296 imf_context_data->has_focus = EINA_TRUE; 296 imf_context_data->has_focus = EINA_TRUE;
297
298 if (ecore_imf_context_input_panel_enabled_get(ctx))
299 ecore_imf_context_input_panel_show(ctx);
300
297 if (ic) 301 if (ic)
298 { 302 {
299 char *str; 303 char *str;
@@ -326,6 +330,9 @@ _ecore_imf_context_xim_focus_out(Ecore_IMF_Context *ctx)
326 ic = imf_context_data->ic; 330 ic = imf_context_data->ic;
327 if (ic) 331 if (ic)
328 XUnsetICFocus(ic); 332 XUnsetICFocus(ic);
333
334 if (ecore_imf_context_input_panel_enabled_get(ctx))
335 ecore_imf_context_input_panel_hide(ctx);
329 } 336 }
330#else 337#else
331 (void)ctx; 338 (void)ctx;
@@ -501,6 +508,38 @@ _ecore_imf_context_xim_cursor_location_set(Ecore_IMF_Context *ctx,
501 (void)(w); // yes w is unused, but only a bi-product of the algorithm 508 (void)(w); // yes w is unused, but only a bi-product of the algorithm
502} 509}
503 510
511static void
512_ecore_imf_context_xim_input_panel_show(Ecore_IMF_Context *ctx)
513{
514 EINA_LOG_DBG("%s in", __FUNCTION__);
515
516#ifdef ENABLE_XIM
517 Ecore_IMF_Context_Data *imf_context_data;
518 imf_context_data = ecore_imf_context_data_get(ctx);
519
520 ecore_x_e_virtual_keyboard_state_set
521 (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_ON);
522#else
523 (void)ctx;
524#endif
525}
526
527static void
528_ecore_imf_context_xim_input_panel_hide(Ecore_IMF_Context *ctx)
529{
530 EINA_LOG_DBG("%s in", __FUNCTION__);
531
532#ifdef ENABLE_XIM
533 Ecore_IMF_Context_Data *imf_context_data;
534 imf_context_data = ecore_imf_context_data_get(ctx);
535
536 ecore_x_e_virtual_keyboard_state_set
537 (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF);
538#else
539 (void)ctx;
540#endif
541}
542
504#ifdef ENABLE_XIM 543#ifdef ENABLE_XIM
505static unsigned int 544static unsigned int
506_ecore_x_event_reverse_modifiers(unsigned int state) 545_ecore_x_event_reverse_modifiers(unsigned int state)
@@ -739,8 +778,8 @@ static Ecore_IMF_Context_Class xim_class = {
739 .del = _ecore_imf_context_xim_del, 778 .del = _ecore_imf_context_xim_del,
740 .client_window_set = _ecore_imf_context_xim_client_window_set, 779 .client_window_set = _ecore_imf_context_xim_client_window_set,
741 .client_canvas_set = NULL, 780 .client_canvas_set = NULL,
742 .show = NULL, 781 .show = _ecore_imf_context_xim_input_panel_show,
743 .hide = NULL, 782 .hide = _ecore_imf_context_xim_input_panel_hide,
744 .preedit_string_get = _ecore_imf_context_xim_preedit_string_get, 783 .preedit_string_get = _ecore_imf_context_xim_preedit_string_get,
745 .focus_in = _ecore_imf_context_xim_focus_in, 784 .focus_in = _ecore_imf_context_xim_focus_in,
746 .focus_out = _ecore_imf_context_xim_focus_out, 785 .focus_out = _ecore_imf_context_xim_focus_out,
@@ -759,6 +798,11 @@ static Ecore_IMF_Context_Class xim_class = {
759 .input_panel_language_set = NULL, 798 .input_panel_language_set = NULL,
760 .input_panel_language_get = NULL, 799 .input_panel_language_get = NULL,
761 .cursor_location_set = _ecore_imf_context_xim_cursor_location_set, 800 .cursor_location_set = _ecore_imf_context_xim_cursor_location_set,
801 .input_panel_imdata_set = NULL,
802 .input_panel_imdata_get = NULL,
803 .input_panel_return_key_type_set = NULL,
804 .input_panel_return_key_disabled_set = NULL,
805 .input_panel_caps_lock_mode_set = NULL
762}; 806};
763 807
764static Ecore_IMF_Context * 808static Ecore_IMF_Context *