Move normalize_keystr to utils.misc
This commit is contained in:
parent
f1ff2738da
commit
9b24ca39ea
@ -28,7 +28,7 @@ from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QObject
|
|||||||
import qutebrowser.config.config as config
|
import qutebrowser.config.config as config
|
||||||
from qutebrowser.utils.usertypes import enum, Timer
|
from qutebrowser.utils.usertypes import enum, Timer
|
||||||
from qutebrowser.utils.log import keyboard as logger
|
from qutebrowser.utils.log import keyboard as logger
|
||||||
from qutebrowser.utils.misc import keyevent_to_string
|
from qutebrowser.utils.misc import keyevent_to_string, normalize_keystr
|
||||||
|
|
||||||
|
|
||||||
class BaseKeyParser(QObject):
|
class BaseKeyParser(QObject):
|
||||||
@ -102,27 +102,6 @@ class BaseKeyParser(QObject):
|
|||||||
if self.do_log:
|
if self.do_log:
|
||||||
logger.debug(message)
|
logger.debug(message)
|
||||||
|
|
||||||
def _normalize_keystr(self, keystr):
|
|
||||||
"""Normalize a keystring like Ctrl-Q to a keystring like Ctrl+Q.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
keystr: The key combination as a string.
|
|
||||||
|
|
||||||
Return:
|
|
||||||
The normalized keystring.
|
|
||||||
"""
|
|
||||||
replacements = (
|
|
||||||
('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'):
|
|
||||||
keystr = keystr.replace(mod + '-', mod + '+')
|
|
||||||
return keystr
|
|
||||||
|
|
||||||
def _handle_special_key(self, e):
|
def _handle_special_key(self, e):
|
||||||
"""Handle a new keypress with special keys (<Foo>).
|
"""Handle a new keypress with special keys (<Foo>).
|
||||||
|
|
||||||
@ -343,7 +322,7 @@ class BaseKeyParser(QObject):
|
|||||||
if not cmd:
|
if not cmd:
|
||||||
continue
|
continue
|
||||||
elif key.startswith('<') and key.endswith('>'):
|
elif key.startswith('<') and key.endswith('>'):
|
||||||
keystr = self._normalize_keystr(key[1:-1])
|
keystr = normalize_keystr(key[1:-1])
|
||||||
self.special_bindings[keystr] = cmd
|
self.special_bindings[keystr] = cmd
|
||||||
elif self._supports_chains:
|
elif self._supports_chains:
|
||||||
self.bindings[key] = cmd
|
self.bindings[key] = cmd
|
||||||
|
@ -440,3 +440,25 @@ def keyevent_to_string(e):
|
|||||||
parts.append(s)
|
parts.append(s)
|
||||||
parts.append(key_to_string(e.key()))
|
parts.append(key_to_string(e.key()))
|
||||||
return '+'.join(parts)
|
return '+'.join(parts)
|
||||||
|
|
||||||
|
|
||||||
|
def normalize_keystr(keystr):
|
||||||
|
"""Normalize a keystring like Ctrl-Q to a keystring like Ctrl+Q.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
keystr: The key combination as a string.
|
||||||
|
|
||||||
|
Return:
|
||||||
|
The normalized keystring.
|
||||||
|
"""
|
||||||
|
replacements = (
|
||||||
|
('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'):
|
||||||
|
keystr = keystr.replace(mod + '-', mod + '+')
|
||||||
|
return keystr
|
||||||
|
Loading…
Reference in New Issue
Block a user