summaryrefslogtreecommitdiff
path: root/qutebrowser
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-08-26 17:44:43 +0200
committerFlorian Bruhin <me@the-compiler.org>2021-08-26 17:44:43 +0200
commite61597ca817e369c958ab0b8a54ae169f64b9474 (patch)
treeed94243f082551463a4d50d0400886e0bbd55677 /qutebrowser
parent60b234be4deda933a49ea34b92974fa725e05b42 (diff)
downloadqutebrowser-e61597ca817e369c958ab0b8a54ae169f64b9474.tar.gz
qutebrowser-e61597ca817e369c958ab0b8a54ae169f64b9474.zip
key hacks
Diffstat (limited to 'qutebrowser')
-rw-r--r--qutebrowser/keyinput/basekeyparser.py5
-rw-r--r--qutebrowser/keyinput/keyutils.py22
2 files changed, 14 insertions, 13 deletions
diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py
index 9630febab..a174d0620 100644
--- a/qutebrowser/keyinput/basekeyparser.py
+++ b/qutebrowser/keyinput/basekeyparser.py
@@ -283,9 +283,8 @@ class BaseKeyParser(QObject):
"""
key = Qt.Key(e.key())
txt = str(keyutils.KeyInfo.from_event(e))
- self._debug_log("Got key: 0x{:x} / modifiers: 0x{:x} / text: '{}' / "
- "dry_run {}".format(key, int(e.modifiers()), txt,
- dry_run))
+ self._debug_log("Got key: 0x{:x} / modifiers: {} / text: '{}' / "
+ "dry_run {}".format(key, e.modifiers(), txt, dry_run))
if keyutils.is_modifier_key(key):
self._debug_log("Ignoring, only modifier")
diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py
index 387e1ac4b..398f7ce3e 100644
--- a/qutebrowser/keyinput/keyutils.py
+++ b/qutebrowser/keyinput/keyutils.py
@@ -150,13 +150,13 @@ _SPECIAL_NAMES = {
def _assert_plain_key(key: Qt.Key) -> None:
"""Make sure this is a key without KeyboardModifiers mixed in."""
- assert not key & Qt.KeyboardModifier.KeyboardModifierMask, hex(key)
+ #assert not key & Qt.KeyboardModifier.KeyboardModifierMask, hex(key)
def _assert_plain_modifier(key: _ModifierType) -> None:
"""Make sure this is a modifier without a key mixed in."""
- mask = Qt.KeyboardModifier.KeyboardModifierMask
- assert not key & ~mask, hex(key) # type: ignore[operator]
+ #mask = Qt.KeyboardModifier.KeyboardModifierMask
+ #assert not key & ~mask, hex(key) # type: ignore[operator]
def _is_printable(key: Qt.Key) -> bool:
@@ -261,7 +261,8 @@ def _modifiers_to_string(modifiers: _ModifierType) -> str:
else:
result = ''
- result += QKeySequence(modifiers).toString()
+ # FIXME is this intended?
+ result += QKeySequence(modifiers | Qt.Key.Key_X).toString()[:-1]
_check_valid_utf8(result, modifiers)
return result
@@ -370,7 +371,7 @@ class KeyInfo:
A name of the key (combination) as a string.
"""
key_string = _key_to_string(self.key)
- modifiers = int(self.modifiers)
+ modifiers = self.modifiers
if self.key in _MODIFIER_MAP:
# Don't return e.g. <Shift+Shift>
@@ -460,8 +461,9 @@ class KeySequence:
def _convert_key(self, key: Union[int, Qt.KeyboardModifier]) -> int:
"""Convert a single key for QKeySequence."""
- assert isinstance(key, (int, Qt.KeyboardModifier)), key
- return int(key)
+ #assert isinstance(key, (int, Qt.KeyboardModifier)), key
+ #return int(key)
+ return key.key()
def __str__(self) -> str:
parts = []
@@ -583,7 +585,7 @@ class KeySequence:
_assert_plain_modifier(ev.modifiers())
key = _remap_unicode(key, ev.text())
- modifiers = int(ev.modifiers())
+ modifiers = ev.modifiers()
if key == _NIL_KEY:
raise KeyParseError(None, "Got nil key!")
@@ -610,7 +612,7 @@ class KeySequence:
if (modifiers == Qt.KeyboardModifier.ShiftModifier and
_is_printable(key) and
not ev.text().isupper()):
- modifiers = Qt.KeyboardModifier() # type: ignore[assignment]
+ modifiers &= ~Qt.KeyboardModifier.ShiftModifier # type: ignore[assignment]
# On macOS, swap Ctrl and Meta back
#
@@ -629,7 +631,7 @@ class KeySequence:
modifiers |= Qt.KeyboardModifier.ControlModifier
keys = list(self._iter_keys())
- keys.append(key | int(modifiers))
+ keys.append(key | modifiers)
return self.__class__(*keys)