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: