diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py index 2c934617b..a8501ab4c 100644 --- a/qutebrowser/keyinput/basekeyparser.py +++ b/qutebrowser/keyinput/basekeyparser.py @@ -128,10 +128,6 @@ class BaseKeyParser(QObject): txt = str(keyutils.KeyInfo.from_event(e)) self._debug_log("Got key: 0x{:x} / text: '{}'".format(key, txt)) - if keyutils.is_modifier_key(key): - self._debug_log("Ignoring, only modifier") - return QKeySequence.NoMatch - if (txt.isdigit() and self._supports_count and not (not self._count and txt == '0')): assert len(txt) == 1, txt diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py index c45dab290..85c35895a 100644 --- a/qutebrowser/keyinput/keyutils.py +++ b/qutebrowser/keyinput/keyutils.py @@ -200,15 +200,14 @@ class KeyInfo: """Convert this KeyInfo to a meaningful name. Return: - A name of the key (combination) as a string or - an empty string if only modifiers are pressed. + A name of the key (combination) as a string. """ - if is_modifier_key(self.key): - return '' - key_string = _key_to_string(self.key) - if is_printable(self.key): + if is_modifier_key(self.key): + # Don't return e.g. + return '<{}>'.format(key_string) + elif is_printable(self.key): # "normal" binding # FIXME Add a test to make sure Tab doesn't become TAB assert len(key_string) == 1 or self.key == Qt.Key_Space, key_string diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py index 7301b7747..bf24de401 100644 --- a/tests/unit/keyinput/test_keyutils.py +++ b/tests/unit/keyinput/test_keyutils.py @@ -113,13 +113,13 @@ class TestKeyEventToString: """Test keyeevent when only control is pressed.""" evt = fake_keyevent_factory(key=Qt.Key_Control, modifiers=Qt.ControlModifier) - assert not str(keyutils.KeyInfo.from_event(evt)) + assert str(keyutils.KeyInfo.from_event(evt)) == '' def test_only_hyper_l(self, fake_keyevent_factory): """Test keyeevent when only Hyper_L is pressed.""" evt = fake_keyevent_factory(key=Qt.Key_Hyper_L, modifiers=Qt.MetaModifier) - assert not str(keyutils.KeyInfo.from_event(evt)) + assert str(keyutils.KeyInfo.from_event(evt)) == '' def test_only_key(self, fake_keyevent_factory): """Test with a simple key pressed."""