cedric pushed a commit to branch enlightenment-0.17. http://git.enlightenment.org/core/enlightenment.git/commit/?id=0cdd65de080fbedee3dec55c5fbdfa4c42edfafd
commit 0cdd65de080fbedee3dec55c5fbdfa4c42edfafd Author: Thierry <thie...@substantiel.fr> Date: Wed Aug 26 16:33:57 2015 +0200 fix bindings to use the correct source for key string. Signed-off-by: Cedric BAIL <ced...@osg.samsung.com> --- src/bin/e_bindings.c | 2 +- src/modules/comp/e_mod_comp.c | 4 ++-- src/modules/conf_keybindings/e_int_config_acpibindings.c | 2 +- src/modules/conf_keybindings/e_int_config_keybindings.c | 16 ++++++++++------ 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/bin/e_bindings.c b/src/bin/e_bindings.c index 644a012..30a072b 100644 --- a/src/bin/e_bindings.c +++ b/src/bin/e_bindings.c @@ -498,7 +498,7 @@ e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Ev mod = _e_bindings_modifiers(ev->modifiers); EINA_LIST_FOREACH(key_bindings, l, binding) { - if ((binding->key) && (!strcmp(binding->key, ev->key)) && + if ((binding->key) && ((!strcmp(binding->key, ev->key)) || (!strcmp(binding->key, ev->keyname))) && ((binding->any_mod) || (binding->mod == mod))) { if (_e_bindings_context_match(binding->ctxt, ctxt)) diff --git a/src/modules/comp/e_mod_comp.c b/src/modules/comp/e_mod_comp.c index 4ea65a5..0d20a76 100644 --- a/src/modules/comp/e_mod_comp.c +++ b/src/modules/comp/e_mod_comp.c @@ -3425,7 +3425,7 @@ _e_mod_comp_key_down(void *data __UNUSED__, { Ecore_Event_Key *ev = event; - if ((!strcmp(ev->keyname, "Home")) && + if ((!strcmp(ev->key, "Home")) && (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) && (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) && (ev->modifiers & ECORE_EVENT_MODIFIER_ALT)) @@ -3440,7 +3440,7 @@ _e_mod_comp_key_down(void *data __UNUSED__, e_sys_action_do(E_SYS_RESTART, NULL); } } - else if ((!strcasecmp(ev->keyname, "f")) && + else if ((!strcasecmp(ev->key, "f")) && (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) && (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) && (ev->modifiers & ECORE_EVENT_MODIFIER_ALT)) diff --git a/src/modules/conf_keybindings/e_int_config_acpibindings.c b/src/modules/conf_keybindings/e_int_config_acpibindings.c index 64d8cce..7204c86 100644 --- a/src/modules/conf_keybindings/e_int_config_acpibindings.c +++ b/src/modules/conf_keybindings/e_int_config_acpibindings.c @@ -597,7 +597,7 @@ _cb_grab_key_down(void *data, ev = event; if (ev->window != grab_win) return ECORE_CALLBACK_PASS_ON; if (!(cfdata = data)) return ECORE_CALLBACK_PASS_ON; - if (!strcmp(ev->keyname, "Escape")) + if (!strcmp(ev->key, "Escape")) { Ecore_Event_Handler *hdl; diff --git a/src/modules/conf_keybindings/e_int_config_keybindings.c b/src/modules/conf_keybindings/e_int_config_keybindings.c index fe63895..bb9896f 100644 --- a/src/modules/conf_keybindings/e_int_config_keybindings.c +++ b/src/modules/conf_keybindings/e_int_config_keybindings.c @@ -1040,10 +1040,10 @@ _grab_key_down_cb(void *data, printf("'%s' '%s'\n", ev->keyname, ev->key); else printf("unknown key!!!!\n"); - if (!e_util_strcmp(ev->keyname, "Control_L") || !e_util_strcmp(ev->keyname, "Control_R") || - !e_util_strcmp(ev->keyname, "Shift_L") || !e_util_strcmp(ev->keyname, "Shift_R") || - !e_util_strcmp(ev->keyname, "Alt_L") || !e_util_strcmp(ev->keyname, "Alt_R") || - !e_util_strcmp(ev->keyname, "Super_L") || !e_util_strcmp(ev->keyname, "Super_R")) + if (!e_util_strcmp(ev->key, "Control_L") || !e_util_strcmp(ev->key, "Control_R") || + !e_util_strcmp(ev->key, "Shift_L") || !e_util_strcmp(ev->key, "Shift_R") || + !e_util_strcmp(ev->key, "Alt_L") || !e_util_strcmp(ev->key, "Alt_R") || + !e_util_strcmp(ev->key, "Super_L") || !e_util_strcmp(ev->key, "Super_R")) { /* Do nothing */ } @@ -1063,6 +1063,10 @@ _grab_key_down_cb(void *data, if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN; + if ((ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) && + ev->key && + (!strcmp(ev->key, "parenleft") || !strcmp(ev->key, "parenright"))) + ev->key = ev->keyname; if (cfdata->locals.add) found = !!e_util_binding_match(cfdata->binding.key, ev, &n, NULL); else if (cfdata->locals.cur && cfdata->locals.cur[0]) @@ -1080,7 +1084,7 @@ _grab_key_down_cb(void *data, bi->context = E_BINDING_CONTEXT_ANY; bi->modifiers = mod; - bi->key = eina_stringshare_add(ev->keyname); + bi->key = eina_stringshare_add(ev->key); bi->action = NULL; bi->params = NULL; bi->any_mod = 0; @@ -1123,7 +1127,7 @@ _grab_key_down_cb(void *data, bi->modifiers = mod; if (bi->key) eina_stringshare_del(bi->key); - bi->key = eina_stringshare_add(ev->keyname); + bi->key = eina_stringshare_add(ev->key); printf("blub\n"); label = _key_binding_text_get(bi); --