--- e17.orig/apps/e/src/bin/e_bindings.c	2005-05-20 08:22:30.000000000 +0200
+++ e17/apps/e/src/bin/e_bindings.c	2005-05-20 08:20:25.000000000 +0200
@@ -12,7 +12,7 @@
 {
    E_Binding_Context ctxt;
    int button;
-   E_Binding_Modifier mod;
+   int mod;
    unsigned char any_mod : 1;
    char *action;
    char *params;
@@ -22,7 +22,7 @@
 {
    E_Binding_Context ctxt;
    char *key;
-   E_Binding_Modifier mod;
+   int mod;
    unsigned char any_mod : 1;
    char *action;
    char *params;
@@ -103,7 +103,7 @@
 }
 
 void
-e_bindings_mouse_add(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, char *action, char *params)
+e_bindings_mouse_add(E_Binding_Context ctxt, int button, int mod, int any_mod, char *action, char *params)
 {
    E_Binding_Mouse *bind;
    
@@ -118,7 +118,7 @@
 }
 
 void
-e_bindings_mouse_del(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, char *action, char *params)
+e_bindings_mouse_del(E_Binding_Context ctxt, int button, int mod, int any_mod, char *action, char *params)
 {
    Evas_List *l;
    
@@ -153,18 +153,11 @@
 	bind = l->data;
 	if (_e_bindings_context_match(bind->ctxt, ctxt))
 	  {
-	     int mod;
-	     
-	     mod = 0;
-	     if (bind->mod & E_BINDING_MODIFIER_SHIFT) mod |= ECORE_X_MODIFIER_SHIFT;
-	     if (bind->mod & E_BINDING_MODIFIER_CTRL) mod |= ECORE_X_MODIFIER_CTRL;
-	     if (bind->mod & E_BINDING_MODIFIER_ALT) mod |= ECORE_X_MODIFIER_ALT;
-	     if (bind->mod & E_BINDING_MODIFIER_WIN) mod |= ECORE_X_MODIFIER_WIN;
 	     ecore_x_window_button_grab(win, bind->button, 
 					ECORE_X_EVENT_MASK_MOUSE_DOWN | 
 					ECORE_X_EVENT_MASK_MOUSE_UP | 
 					ECORE_X_EVENT_MASK_MOUSE_MOVE, 
-					mod, bind->any_mod);
+					bind->mod, bind->any_mod);
 	  }
      }
 }
@@ -181,15 +174,8 @@
 	bind = l->data;
 	if (_e_bindings_context_match(bind->ctxt, ctxt))
 	  {
-	     int mod;
-	     
-	     mod = 0;
-	     if (bind->mod & E_BINDING_MODIFIER_SHIFT) mod |= ECORE_X_MODIFIER_SHIFT;
-	     if (bind->mod & E_BINDING_MODIFIER_CTRL) mod |= ECORE_X_MODIFIER_CTRL;
-	     if (bind->mod & E_BINDING_MODIFIER_ALT) mod |= ECORE_X_MODIFIER_ALT;
-	     if (bind->mod & E_BINDING_MODIFIER_WIN) mod |= ECORE_X_MODIFIER_WIN;
 	     ecore_x_window_button_ungrab(win, bind->button,
-					  mod, bind->any_mod);
+					  bind->mod, bind->any_mod);
 	  }
      }
 }
@@ -197,13 +183,9 @@
 E_Action *
 e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev)
 {
-   E_Binding_Modifier mod = 0;
+   int mod = ev->modifiers;
    Evas_List *l;
    
-   if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
    for (l = mouse_bindings; l; l = l->next)
      {
 	E_Binding_Mouse *bind;
@@ -235,13 +217,9 @@
 E_Action *
 e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Up *ev)
 {
-   E_Binding_Modifier mod = 0;
+   int mod = ev->modifiers;
    Evas_List *l;
    
-   if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
    for (l = mouse_bindings; l; l = l->next)
      {
 	E_Binding_Mouse *bind;
@@ -272,7 +250,7 @@
 
 /* FIXME: finish off key bindings */
 void
-e_bindings_key_add(E_Binding_Context ctxt, char *key, E_Binding_Modifier mod, int any_mod, char *action, char *params)
+e_bindings_key_add(E_Binding_Context ctxt, char *key, int mod, int any_mod, char *action, char *params)
 {
    E_Binding_Key *bind;
    
@@ -287,7 +265,7 @@
 }
 
 void
-e_bindings_key_del(E_Binding_Context ctxt, char *key, E_Binding_Modifier mod, int any_mod, char *action, char *params)
+e_bindings_key_del(E_Binding_Context ctxt, char *key, int mod, int any_mod, char *action, char *params)
 {
    Evas_List *l;
    
@@ -323,16 +301,9 @@
 	bind = l->data;
 	if (_e_bindings_context_match(bind->ctxt, ctxt))
 	  {
-	     int mod;
-	     
-	     mod = 0;
-	     if (bind->mod & E_BINDING_MODIFIER_SHIFT) mod |= ECORE_X_MODIFIER_SHIFT;
-	     if (bind->mod & E_BINDING_MODIFIER_CTRL) mod |= ECORE_X_MODIFIER_CTRL;
-	     if (bind->mod & E_BINDING_MODIFIER_ALT) mod |= ECORE_X_MODIFIER_ALT;
-	     if (bind->mod & E_BINDING_MODIFIER_WIN) mod |= ECORE_X_MODIFIER_WIN;
-	     printf("BIND %x %s %x %i\n", win, bind->key, mod, bind->any_mod);
+	     printf("BIND %x %s %x %i\n", win, bind->key, bind->mod, bind->any_mod);
 	     ecore_x_window_key_grab(win, bind->key,
-				     mod, bind->any_mod);
+				     bind->mod, bind->any_mod);
 	  }
      }
 }
@@ -349,15 +320,8 @@
 	bind = l->data;
 	if (_e_bindings_context_match(bind->ctxt, ctxt))
 	  {
-	     int mod;
-	     
-	     mod = 0;
-	     if (bind->mod & E_BINDING_MODIFIER_SHIFT) mod |= ECORE_X_MODIFIER_SHIFT;
-	     if (bind->mod & E_BINDING_MODIFIER_CTRL) mod |= ECORE_X_MODIFIER_CTRL;
-	     if (bind->mod & E_BINDING_MODIFIER_ALT) mod |= ECORE_X_MODIFIER_ALT;
-	     if (bind->mod & E_BINDING_MODIFIER_WIN) mod |= ECORE_X_MODIFIER_WIN;
 	     ecore_x_window_key_ungrab(win, bind->key,
-				       mod, bind->any_mod);
+				       bind->mod, bind->any_mod);
 	  }
      }
 }
@@ -365,13 +329,9 @@
 E_Action *
 e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Key_Down *ev)
 {
-   E_Binding_Modifier mod = 0;
+   int mod = ev->modifiers;
    Evas_List *l;
    
-   if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
    for (l = key_bindings; l; l = l->next)
      {
 	E_Binding_Key *bind;
@@ -403,13 +363,9 @@
 E_Action *
 e_bindings_key_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Key_Up *ev)
 {
-   E_Binding_Modifier mod = 0;
+   int mod = ev->modifiers;
    Evas_List *l;
    
-   if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
-   if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
-   if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
-   if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
    for (l = key_bindings; l; l = l->next)
      {
 	E_Binding_Key *bind;
