From a6e3199616d307b21a89c27f36f3aba42af81e4d Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 13 Apr 2015 22:08:57 +0200 Subject: [PATCH] Fix binding of special keys with lower-case mods. --- qutebrowser/utils/utils.py | 13 +++++++------ tests/utils/test_utils.py | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index bacbb5501..b86642081 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -362,17 +362,18 @@ def normalize_keystr(keystr): Return: The normalized keystring. """ + keystr = keystr.lower() replacements = ( - ('Control', 'Ctrl'), - ('Windows', 'Meta'), - ('Mod1', 'Alt'), - ('Mod4', 'Meta'), + ('control', 'ctrl'), + ('windows', 'meta'), + ('mod1', 'alt'), + ('mod4', 'meta'), ) for (orig, repl) in replacements: keystr = keystr.replace(orig, repl) - for mod in ('Ctrl', 'Meta', 'Alt', 'Shift'): + for mod in ('ctrl', 'meta', 'alt', 'shift'): keystr = keystr.replace(mod + '-', mod + '+') - return keystr.lower() + return keystr class FakeIOStream(io.TextIOBase): diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py index 26dc1cab7..40c254a0b 100644 --- a/tests/utils/test_utils.py +++ b/tests/utils/test_utils.py @@ -337,6 +337,8 @@ class TestNormalize: ('Mod4+x', 'meta+x'), ('Control--', 'ctrl+-'), ('Windows++', 'meta++'), + ('ctrl-x', 'ctrl+x'), + ('control+x', 'ctrl+x') ) @pytest.mark.parametrize('orig, repl', STRINGS)