diff --git a/src/bin/termio.c b/src/bin/termio.c index c749b68f..dab57614 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -423,9 +423,15 @@ _smart_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, { Ecore_IMF_Event_Key_Down imf_ev; ecore_imf_evas_event_key_down_wrap(ev, &imf_ev); - if (ecore_imf_context_filter_event - (sd->imf, ECORE_IMF_EVENT_KEY_DOWN, (Ecore_IMF_Event *)&imf_ev)) - goto end; + // EXCEPTION. Don't filter modifiers alt+shift -> breaks emacs + // and jed (alt+shift+5 for search/replace for example) + if (!((evas_key_modifier_is_set(ev->modifiers, "Shift")) && + (evas_key_modifier_is_set(ev->modifiers, "Alt")))) + { + 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")) {