raster pushed a commit to branch master.
commit 2ab62908399df32903181237ac6c5d54758dc90c
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date: Wed May 8 12:30:37 2013 +0900
Terminology: fix tab hotkey with UIM-XIM
Tab switch hotkeys are broken when using UIM-XIM.
Ctrl-1 displays "1" and doesn't switch tab as the control code is
supposedly handled by the IMF (even if it is not by configuration).
Note: not sure what the behaviour should be if UIM is configured to
catch Ctrl-1 sequences?
Setup UIM-XIM if possible.
Export ECORE_IMF_MODULE=xim.
Open terminology, create tab, press Ctrl-1. Should switch tab and not
display "1".
---
src/bin/termio.c | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/src/bin/termio.c b/src/bin/termio.c
index 3bd2fc8..07665a9 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -1899,24 +1899,6 @@ _smart_cb_key_down(void *data, Evas *e __UNUSED__,
Evas_Object *obj __UNUSED__,
sd = evas_object_smart_data_get(data);
if (!sd) return;
- if (sd->imf)
- {
- // EXCEPTION. Don't filter modifiers alt+shift -> breaks emacs
- // and jed (alt+shift+5 for search/replace for example)
- // Don't filter modifiers alt, is used by shells
- if (!evas_key_modifier_is_set(ev->modifiers, "Alt"))
- {
- Ecore_IMF_Event_Key_Down imf_ev;
-
- ecore_imf_evas_event_key_down_wrap(ev, &imf_ev);
- if (!sd->composing)
- {
- if (ecore_imf_context_filter_event
- (sd->imf, ECORE_IMF_EVENT_KEY_DOWN, (Ecore_IMF_Event
*)&imf_ev))
- goto end;
- }
- }
- }
if ((!evas_key_modifier_is_set(ev->modifiers, "Alt")) &&
(evas_key_modifier_is_set(ev->modifiers, "Control")) &&
(!evas_key_modifier_is_set(ev->modifiers, "Shift")))
@@ -2060,6 +2042,24 @@ _smart_cb_key_down(void *data, Evas *e __UNUSED__,
Evas_Object *obj __UNUSED__,
goto end;
}
}
+ if (sd->imf)
+ {
+ // EXCEPTION. Don't filter modifiers alt+shift -> breaks emacs
+ // and jed (alt+shift+5 for search/replace for example)
+ // Don't filter modifiers alt, is used by shells
+ if (!evas_key_modifier_is_set(ev->modifiers, "Alt"))
+ {
+ Ecore_IMF_Event_Key_Down imf_ev;
+
+ ecore_imf_evas_event_key_down_wrap(ev, &imf_ev);
+ if (!sd->composing)
+ {
+ if (ecore_imf_context_filter_event
+ (sd->imf, ECORE_IMF_EVENT_KEY_DOWN, (Ecore_IMF_Event
*)&imf_ev))
+ goto end;
+ }
+ }
+ }
if ((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
(ev->keyname))
{
--
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may