Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src


Modified Files:
        ewl_embed.c ewl_events.c ewl_events.h 


Log Message:
- set the key modifiers coming into the embed from evas

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_embed.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -3 -r1.47 -r1.48
--- ewl_embed.c 13 Oct 2004 17:42:19 -0000      1.47
+++ ewl_embed.c 14 Oct 2004 01:35:51 -0000      1.48
@@ -251,6 +251,8 @@
        ev.modifiers = mods;
        ev.keyname = strdup(keyname);
 
+printf("down_feed: (%s) (%d)\n", ev.keyname, ev.modifiers);
+
        /*
         * If a widget has been selected then we send the keystroke to the
         * appropriate widget.
@@ -1125,10 +1127,30 @@
 {
        Ewl_Embed *embed;
        Evas_Event_Key_Down *ev = event_info;
+       unsigned int key_modifiers = 0;
+       int set_modifiers = 1;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
 
        embed = data;
+       if (evas_key_modifier_is_set_get(ev->modifiers, "Shift"))
+               key_modifiers |= EWL_KEY_MODIFIER_SHIFT;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Alt"))
+               key_modifiers |= EWL_KEY_MODIFIER_ALT;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Control"))
+               key_modifiers |= EWL_KEY_MODIFIER_CTRL;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Meta"))
+               key_modifiers |= EWL_KEY_MODIFIER_MOD;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Super"))
+               key_modifiers |= EWL_KEY_MODIFIER_WIN;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Hyper"))
+               key_modifiers |= EWL_KEY_MODIFIER_WIN;
+       else
+               set_modifiers = 0;
+
+       if (set_modifiers)
+               ewl_ev_set_modifiers(key_modifiers);
+
        ewl_embed_key_down_feed(embed, ev->keyname, ewl_ev_get_modifiers());
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -1140,11 +1162,32 @@
 {
        Ewl_Embed *embed;
        Evas_Event_Key_Down *ev = event_info;
+       unsigned int key_modifiers = 0;
+       int set_modifiers = 1;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
 
        embed = data;
+       if (evas_key_modifier_is_set_get(ev->modifiers, "Shift"))
+               key_modifiers |= EWL_KEY_MODIFIER_SHIFT;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Alt"))
+               key_modifiers |= EWL_KEY_MODIFIER_ALT;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Control"))
+               key_modifiers |= EWL_KEY_MODIFIER_CTRL;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Meta"))
+               key_modifiers |= EWL_KEY_MODIFIER_MOD;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Super"))
+               key_modifiers |= EWL_KEY_MODIFIER_WIN;
+       else if (evas_key_modifier_is_set_get(ev->modifiers, "Hyper"))
+               key_modifiers |= EWL_KEY_MODIFIER_WIN;
+       else
+               set_modifiers = 0;
+
+       if (set_modifiers)
+               ewl_ev_set_modifiers(key_modifiers);
+
        ewl_embed_key_up_feed(embed, ev->keyname, ewl_ev_get_modifiers());
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
 }
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_events.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -3 -r1.68 -r1.69
--- ewl_events.c        23 Aug 2004 18:51:52 -0000      1.68
+++ ewl_events.c        14 Oct 2004 01:35:51 -0000      1.69
@@ -125,6 +125,20 @@
        DRETURN_INT(key_modifiers, DLEVEL_STABLE);
 }
 
+/**
+ * @param modifiers: the key modifiers to set
+ * @return Returns no value.
+ * @brief Sets the key modifiers to the given value
+ */
+void ewl_ev_set_modifiers(unsigned int modifiers)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+
+       key_modifiers = modifiers;
+
+       DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
 #ifdef HAVE_EVAS_ENGINE_SOFTWARE_X11_H
 
 /**
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_events.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- ewl_events.h        22 Jun 2004 16:44:32 -0000      1.20
+++ ewl_events.h        14 Oct 2004 01:35:51 -0000      1.21
@@ -155,6 +155,7 @@
 
 int ewl_ev_init(void);
 unsigned int ewl_ev_get_modifiers();
+void ewl_ev_set_modifiers(unsigned int modifiers);
 
 /**
  * @}




-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to