From 75798bebb076a9aeca737e25882e4ef4aee33c7d Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 19 Jun 2017 11:45:10 +0200 Subject: [PATCH] Normalize bindings correctly when checking key_mappings --- qutebrowser/keyinput/basekeyparser.py | 9 +++++++-- qutebrowser/utils/utils.py | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py index cf8aaa5f8..5726962db 100644 --- a/qutebrowser/keyinput/basekeyparser.py +++ b/qutebrowser/keyinput/basekeyparser.py @@ -127,8 +127,13 @@ class BaseKeyParser(QObject): if binding is None: self._debug_log("Ignoring only-modifier keyeevent.") return False - binding = binding.lower() - binding = config.val.bindings.key_mappings.get(binding, binding) + + key_mappings = config.val.bindings.key_mappings + try: + binding = key_mappings['<{}>'.format(binding)][1:-1] + except KeyError: + pass + try: cmdstr = self.special_bindings[binding] except KeyError: diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index bd96de2aa..c70d69693 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -407,7 +407,7 @@ def keyevent_to_string(e): if mod & mask and s not in parts: parts.append(s) parts.append(key_to_string(e.key())) - return '+'.join(parts) + return normalize_keystr('+'.join(parts)) class KeyInfo: