diff options
Diffstat (limited to 'libraries/ecore/src/modules/immodules/xim')
-rw-r--r-- | libraries/ecore/src/modules/immodules/xim/Makefile.in | 20 | ||||
-rw-r--r-- | libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c | 48 |
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 | ||
58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
59 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
60 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 59 | mkinstalldirs = $(install_sh) -d |
61 | CONFIG_HEADER = $(top_builddir)/config.h | 60 | CONFIG_HEADER = $(top_builddir)/config.h |
62 | CONFIG_CLEAN_FILES = | 61 | CONFIG_CLEAN_FILES = |
63 | CONFIG_CLEAN_VPATH_FILES = | 62 | CONFIG_CLEAN_VPATH_FILES = |
@@ -189,6 +188,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
189 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 188 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
190 | EVIL_LIBS = @EVIL_LIBS@ | 189 | EVIL_LIBS = @EVIL_LIBS@ |
191 | EXEEXT = @EXEEXT@ | 190 | EXEEXT = @EXEEXT@ |
191 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
192 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
192 | FGREP = @FGREP@ | 193 | FGREP = @FGREP@ |
193 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 194 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
194 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 195 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -244,6 +245,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
244 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 245 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
245 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 246 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
246 | PKG_CONFIG = @PKG_CONFIG@ | 247 | PKG_CONFIG = @PKG_CONFIG@ |
248 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
249 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
247 | POSUB = @POSUB@ | 250 | POSUB = @POSUB@ |
248 | RANLIB = @RANLIB@ | 251 | RANLIB = @RANLIB@ |
249 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 252 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -254,6 +257,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
254 | SED = @SED@ | 257 | SED = @SED@ |
255 | SET_MAKE = @SET_MAKE@ | 258 | SET_MAKE = @SET_MAKE@ |
256 | SHELL = @SHELL@ | 259 | SHELL = @SHELL@ |
260 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
257 | SSL_CFLAGS = @SSL_CFLAGS@ | 261 | SSL_CFLAGS = @SSL_CFLAGS@ |
258 | SSL_LIBS = @SSL_LIBS@ | 262 | SSL_LIBS = @SSL_LIBS@ |
259 | STRIP = @STRIP@ | 263 | STRIP = @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 | ||
511 | static 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 | |||
527 | static 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 |
505 | static unsigned int | 544 | static 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 | ||
764 | static Ecore_IMF_Context * | 808 | static Ecore_IMF_Context * |