From 0b1b6cbd636f34d9cc4a85444e1d1236930d91ba Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 13 Jun 2011 14:51:52 +0000 Subject: [PATCH] make keybinding that toggles backlight toggle it down when grabbed SVN revision: 60274 --- src/modules/backlight/e_mod_main.c | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/modules/backlight/e_mod_main.c b/src/modules/backlight/e_mod_main.c index a8e244045..c8fab4dec 100644 --- a/src/modules/backlight/e_mod_main.c +++ b/src/modules/backlight/e_mod_main.c @@ -125,6 +125,37 @@ _backlight_input_win_key_down_cb(void *data, int type __UNUSED__, void *event) e_backlight_mode_set(inst->gcc->gadcon->zone, E_BACKLIGHT_MODE_NORMAL); e_backlight_level_set(inst->gcc->gadcon->zone, v, 0.0); } + else + { + Eina_List *l; + E_Config_Binding_Key *bind; + E_Binding_Modifier mod; + + for (l = e_config->key_bindings; l; l = l->next) + { + bind = l->data; + + if (bind->action && strcmp(bind->action, "backlight")) continue; + + mod = 0; + + if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) + mod |= E_BINDING_MODIFIER_SHIFT; + if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) + mod |= E_BINDING_MODIFIER_CTRL; + if (ev->modifiers & ECORE_EVENT_MODIFIER_ALT) + mod |= E_BINDING_MODIFIER_ALT; + if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN) + mod |= E_BINDING_MODIFIER_WIN; + + if (bind->key && (!strcmp(bind->key, ev->keyname)) && + ((bind->modifiers == mod) || (bind->any_mod))) + { + _backlight_popup_free(inst); + break; + } + } + } return ECORE_CALLBACK_PASS_ON; }