From 417bb0aacf320043994ac1a0a5f49b977d1a9d22 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Thu, 10 Sep 2009 14:47:53 -0700 Subject: [PATCH] ignore irrelevant modifiers and events pending --- grc/gui/ActionHandler.py | 2 -- grc/gui/Actions.py | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py index 656f99c3..970b731c 100644 --- a/grc/gui/ActionHandler.py +++ b/grc/gui/ActionHandler.py @@ -79,8 +79,6 @@ class ActionHandler: When not in focus, gtk and the accelerators handle the the key press. @return false to let gtk handle the key action """ - #dont allow key presses to queue up - if gtk.events_pending(): return True #extract action name from this key press key_name = gtk.gdk.keyval_name(event.keyval) mod_mask = event.state diff --git a/grc/gui/Actions.py b/grc/gui/Actions.py index c3ef2711..1d6a2afb 100644 --- a/grc/gui/Actions.py +++ b/grc/gui/Actions.py @@ -97,6 +97,7 @@ _actions_key_list = ( ) _actions_key_dict = dict(((key_name, mod_mask), action_name) for action_name, key_name, mod_mask in _actions_key_list) +_all_mods_mask = reduce(lambda x, y: x | y, [mod_mask for action_name, key_name, mod_mask in _actions_key_list], 0) def get_action_name_from_key_name(key_name, mod_mask=0): """ Get the action name associated with the key name and mask. @@ -105,6 +106,7 @@ def get_action_name_from_key_name(key_name, mod_mask=0): @param mod_mask the key press mask (shift, ctrl) 0 for none @return the action name or blank string """ + mod_mask &= _all_mods_mask #ignore irrelevant modifiers key_name_mod_mask = (key_name, mod_mask) if key_name_mod_mask in _actions_key_dict: return _actions_key_dict[key_name_mod_mask] return '' -- 2.30.2