From ab447bd396b46247f6f12b8e2c697b0f7e01b95a Mon Sep 17 00:00:00 2001 From: Jimmy Date: Sun, 3 Oct 2021 16:44:30 +1300 Subject: even more keypress related hacks `QKeySequence.SequenceMatch` is one of the enums for which `Enum(0)` is no-longer falsey, compare to NoMatch instead. Otherwise the conditional is always false and forwarded keys don't work. Eg > from PyQt6.QtGui import QKeySequence, QKeyEvent > bool(QKeySequence.SequenceMatch.NoMatch) True > bool(QKeySequence.SequenceMatch(0)) True For `QKeySequence.SequenceMatch` and `QtCore.Qt.Key` and `QtCore.Qt.KeyboardModifier` int(enum_value) no longer works, eg > int(QtCore.Qt.KeyboardModifier(0)) TypeError: int() argument must be a string, a bytes-like object or a number, not 'KeyboardModifier' --- qutebrowser/keyinput/modeman.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'qutebrowser/keyinput/modeman.py') diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index e59964432..53f7354c8 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -24,7 +24,7 @@ import dataclasses from typing import Mapping, Callable, MutableMapping, Union, Set, cast from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QEvent -from PyQt6.QtGui import QKeyEvent +from PyQt6.QtGui import QKeySequence, QKeyEvent from qutebrowser.commands import runners from qutebrowser.keyinput import modeparsers, basekeyparser @@ -296,7 +296,7 @@ class ModeManager(QObject): forward_unbound_keys = config.cache['input.forward_unbound_keys'] - if match: + if match != QKeySequence.SequenceMatch.NoMatch: filter_this = True elif (parser.passthrough or forward_unbound_keys == 'all' or (forward_unbound_keys == 'auto' and is_non_alnum)): -- cgit v1.2.3-54-g00ecf