raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=12bc779c4e401792738f6a7cbe48f11fb3f08c39
commit 12bc779c4e401792738f6a7cbe48f11fb3f08c39 Author: Jaeun Choi <jaeun12.c...@samsung.com> Date: Thu Mar 20 18:42:20 2014 +0900 config: add a field in key binding data structure Summary: This patch adds a field "no_string" in key binding data structure. It is necessary for checking "string" field in evas key down event. Test Plan: None Reviewers: Hermet, raster Reviewed By: raster Differential Revision: https://phab.enlightenment.org/D641 --- config/default/base.src | 3 +++ config/standard/base.src | 3 +++ src/lib/elm_config.c | 4 +++- src/lib/elm_priv.h | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/config/default/base.src b/config/default/base.src index 1ec7bfa..cbf5258 100644 --- a/config/default/base.src +++ b/config/default/base.src @@ -256,6 +256,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -264,6 +265,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -272,6 +274,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } } } diff --git a/config/standard/base.src b/config/standard/base.src index a636416..13073c6 100644 --- a/config/standard/base.src +++ b/config/standard/base.src @@ -257,6 +257,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -265,6 +266,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -273,6 +275,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } } } diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c index 33d21db..dea64ce 100644 --- a/src/lib/elm_config.c +++ b/src/lib/elm_config.c @@ -451,6 +451,7 @@ _desc_init(void) ELM_CONFIG_VAL(D, T, action, EET_T_STRING); ELM_CONFIG_VAL(D, T, params, EET_T_STRING); ELM_CONFIG_VAL(D, T, any_mod, EET_T_UCHAR); + ELM_CONFIG_VAL(D, T, no_string, EET_T_UCHAR); #undef T #undef D @@ -2128,7 +2129,8 @@ _elm_config_key_binding_call(Evas_Object *obj, if (binding->key && (!strcmp(binding->key, ev->keyname)) && ((evas_key_modifier_is_set (ev->modifiers, binding->modifiers) - || (binding->any_mod)))) + || (binding->any_mod))) + && !(ev->string && binding->no_string)) { while (actions[i].name) { diff --git a/src/lib/elm_priv.h b/src/lib/elm_priv.h index aa1f66a..85e421c 100644 --- a/src/lib/elm_priv.h +++ b/src/lib/elm_priv.h @@ -300,6 +300,7 @@ struct _Elm_Config_Binding_Key const char *action; const char *params; unsigned char any_mod; + unsigned char no_string; }; struct _Elm_Module --