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

-- 


Reply via email to