diff --git a/data/other/enlightenment_remote b/data/other/enlightenment_remote index f5046358e..cb0f44b03 100644 --- a/data/other/enlightenment_remote +++ b/data/other/enlightenment_remote @@ -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 diff --git a/src/bin/e_bindings.c b/src/bin/e_bindings.c index 40cd23c22..660771582 100644 --- a/src/bin/e_bindings.c +++ b/src/bin/e_bindings.c @@ -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) diff --git a/src/bin/e_randr.c b/src/bin/e_randr.c index d0d3cdc69..b2c42ffae 100644 --- a/src/bin/e_randr.c +++ b/src/bin/e_randr.c @@ -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; }; */ }