discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=92614d0c695cf88a2c1e01a6e90b27b3b7f0bb18
commit 92614d0c695cf88a2c1e01a6e90b27b3b7f0bb18 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Thu Sep 21 13:31:04 2017 -0400 store the currently active key binding as an accessible variable --- src/bin/e_bindings.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bin/e_bindings.c b/src/bin/e_bindings.c index b9df55644..e9d6a6797 100644 --- a/src/bin/e_bindings.c +++ b/src/bin/e_bindings.c @@ -660,6 +660,8 @@ e_bindings_key_ungrab(E_Binding_Context ctxt, Ecore_X_Window win) #endif } +EINTERN E_Binding_Key *e_binding_key_current; + E_API E_Action * e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Key *ev) { @@ -669,10 +671,12 @@ e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Ev if (bindings_disabled) return NULL; act = e_bindings_key_event_find(ctxt, ev, &binding); if (!act) return NULL; + e_binding_key_current = binding; if (act->func.go_key) act->func.go_key(obj, binding->params, ev); else if (act->func.go) act->func.go(obj, binding->params); + e_binding_key_current = NULL; return act; } @@ -685,10 +689,12 @@ e_bindings_key_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Even if (bindings_disabled) return NULL; act = e_bindings_key_event_find(ctxt, ev, &binding); if (!act) return NULL; + e_binding_key_current = binding; if (act->func.end_key) act->func.end_key(obj, binding->params, ev); else if (act->func.end) act->func.end(obj, binding->params); + e_binding_key_current = NULL; return act; } --