document changes to rander event - not used and.. use new mapping
authorCarsten Haitzler <raster@rasterman.com>
Thu, 28 Oct 2010 00:34:03 +0000 (00:34 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Thu, 28 Oct 2010 00:34:03 +0000 (00:34 +0000)
event to unbind + bind mouse and key bindings again.

SVN revision: 53943

data/other/enlightenment_remote
src/bin/e_bindings.c
src/bin/e_randr.c

index f504635..cb0f44b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: enlightenment_remote 36712 2008-10-16 10:19:40Z cedric $
+# $Id$
 # bash-completion script for enlightenment_remote
 # By Justin Rocha (Xenith)
 # Additions by Sebastian Dransfeld
index 40cd23c..6607715 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 
 /* local subsystem functions */
+static Eina_Bool _e_bindings_mapping_change_event_cb(void *data, int type, void *event);
 
 static void _e_bindings_mouse_free(E_Binding_Mouse *bind);
 static void _e_bindings_key_free(E_Binding_Key *bind);
@@ -15,6 +16,8 @@ static Eina_Bool _e_bindings_edge_cb_timer(void *data);
 
 /* local subsystem globals */
 
+static Ecore_Event_Handler *mapping_handler = NULL;
+
 static Eina_List *mouse_bindings = NULL;
 static Eina_List *key_bindings = NULL;
 static Eina_List *edge_bindings = NULL;
@@ -45,6 +48,9 @@ e_bindings_init(void)
    E_Config_Binding_Acpi *eba;
    Eina_List *l;
 
+   mapping_handler = ecore_event_handler_add
+   (ECORE_X_EVENT_WINDOW_MAPPING, _e_bindings_mapping_change_event_cb, NULL);
+  
    EINA_LIST_FOREACH(e_config->mouse_bindings, l, ebm)
      e_bindings_mouse_add(ebm->context, ebm->button, ebm->modifiers,
                          ebm->any_mod, ebm->action, ebm->params);
@@ -98,7 +104,13 @@ e_bindings_shutdown(void)
    E_FREE_LIST(signal_bindings, _e_bindings_signal_free);
    E_FREE_LIST(wheel_bindings, _e_bindings_wheel_free);
    E_FREE_LIST(acpi_bindings, _e_bindings_acpi_free);
-
+   if (mapping_handler)
+      {
+         ecore_event_handler_del(mapping_handler);
+         mapping_handler = NULL;
+      }
+  
    return 1;
 }
 
@@ -961,6 +973,17 @@ e_bindings_acpi_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Acpi
 }
 
 /* local subsystem functions */
+static Eina_Bool
+_e_bindings_mapping_change_event_cb(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
+{
+//  Ecore_X_Event_Mapping_Change *ev = event;
+  
+  e_managers_keys_ungrab();
+  e_border_button_bindings_ungrab_all();
+  e_border_button_bindings_grab_all();
+  e_managers_keys_grab();
+  return ECORE_CALLBACK_PASS_ON;
+}
 
 static void
 _e_bindings_mouse_free(E_Binding_Mouse *bind)
index d0d3cdc..b2c42ff 100644 (file)
@@ -850,7 +850,7 @@ _e_randr_event_cb(void *data __UNUSED__, int type, void *ev)
            Ecore_X_Randr_Output          output;
            Ecore_X_Atom                  property;
            Ecore_X_Time                  time;
-           int                           state; // NewValue, Deleted
+           Ecore_X_Randr_Property_Change state;
            };
            */
      }