Refactor key encoding
Cannot have key names in global namespace as not all key names are valid python identifiers. So move them into a dict.
This commit is contained in:
parent
64b497589f
commit
8843ded1c9
@ -17,7 +17,7 @@ from gettext import gettext as _
|
|||||||
from kitty.cli import CONFIG_HELP, parse_args
|
from kitty.cli import CONFIG_HELP, parse_args
|
||||||
from kitty.constants import appname
|
from kitty.constants import appname
|
||||||
from kitty.fast_data_types import wcswidth
|
from kitty.fast_data_types import wcswidth
|
||||||
from kitty.key_encoding import ESCAPE, RELEASE, enter_key
|
from kitty.key_encoding import K, RELEASE, enter_key
|
||||||
|
|
||||||
from ..tui.handler import Handler
|
from ..tui.handler import Handler
|
||||||
from ..tui.images import ImageManager
|
from ..tui.images import ImageManager
|
||||||
@ -40,6 +40,7 @@ except ImportError:
|
|||||||
|
|
||||||
|
|
||||||
INITIALIZING, COLLECTED, DIFFED, COMMAND, MESSAGE = range(5)
|
INITIALIZING, COLLECTED, DIFFED, COMMAND, MESSAGE = range(5)
|
||||||
|
ESCAPE = K['ESCAPE']
|
||||||
|
|
||||||
|
|
||||||
def generate_diff(collection, context):
|
def generate_diff(collection, context):
|
||||||
|
|||||||
@ -12,7 +12,7 @@ from itertools import repeat
|
|||||||
|
|
||||||
from kitty.cli import parse_args
|
from kitty.cli import parse_args
|
||||||
from kitty.fast_data_types import set_clipboard_string
|
from kitty.fast_data_types import set_clipboard_string
|
||||||
from kitty.key_encoding import ESCAPE, backspace_key, enter_key
|
from kitty.key_encoding import K, backspace_key, enter_key
|
||||||
from kitty.utils import screen_size_function
|
from kitty.utils import screen_size_function
|
||||||
|
|
||||||
from ..tui.handler import Handler
|
from ..tui.handler import Handler
|
||||||
@ -23,6 +23,7 @@ URL_PREFIXES = 'http https file ftp'.split()
|
|||||||
DEFAULT_HINT_ALPHABET = string.digits + string.ascii_lowercase
|
DEFAULT_HINT_ALPHABET = string.digits + string.ascii_lowercase
|
||||||
DEFAULT_REGEX = r'(?m)^\s*(.+)\s*$'
|
DEFAULT_REGEX = r'(?m)^\s*(.+)\s*$'
|
||||||
screen_size = screen_size_function()
|
screen_size = screen_size_function()
|
||||||
|
ESCAPE = K['ESCAPE']
|
||||||
|
|
||||||
|
|
||||||
class Mark:
|
class Mark:
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import sys
|
|||||||
from kitty.cli import parse_args
|
from kitty.cli import parse_args
|
||||||
from kitty.cmds import cmap, parse_subcommand_cli
|
from kitty.cmds import cmap, parse_subcommand_cli
|
||||||
from kitty.constants import version
|
from kitty.constants import version
|
||||||
from kitty.key_encoding import CTRL, ESCAPE, RELEASE, N, S, T, W
|
from kitty.key_encoding import CTRL, RELEASE, K
|
||||||
from kitty.remote_control import encode_send, parse_rc_args
|
from kitty.remote_control import encode_send, parse_rc_args
|
||||||
|
|
||||||
from ..tui.handler import Handler
|
from ..tui.handler import Handler
|
||||||
@ -16,6 +16,11 @@ from ..tui.loop import Loop
|
|||||||
from ..tui.operations import styled
|
from ..tui.operations import styled
|
||||||
|
|
||||||
global_opts = None
|
global_opts = None
|
||||||
|
ESCAPE = K['ESCAPE']
|
||||||
|
N = K['N']
|
||||||
|
S = K['S']
|
||||||
|
T = K['T']
|
||||||
|
W = K['W']
|
||||||
|
|
||||||
|
|
||||||
class Resize(Handler):
|
class Resize(Handler):
|
||||||
|
|||||||
@ -3,7 +3,14 @@
|
|||||||
# License: GPL v3 Copyright: 2018, Kovid Goyal <kovid at kovidgoyal.net>
|
# License: GPL v3 Copyright: 2018, Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
|
|
||||||
from kitty.fast_data_types import truncate_point_for_length, wcswidth
|
from kitty.fast_data_types import truncate_point_for_length, wcswidth
|
||||||
from kitty.key_encoding import RELEASE, HOME, END, BACKSPACE, DELETE, LEFT, RIGHT
|
from kitty.key_encoding import RELEASE, K
|
||||||
|
|
||||||
|
HOME = K['HOME']
|
||||||
|
END = K['END']
|
||||||
|
BACKSPACE = K['BACKSPACE']
|
||||||
|
DELETE = K['DELETE']
|
||||||
|
LEFT = K['LEFT']
|
||||||
|
RIGHT = K['RIGHT']
|
||||||
|
|
||||||
|
|
||||||
class LineEdit:
|
class LineEdit:
|
||||||
|
|||||||
@ -19,8 +19,8 @@ from kitty.fast_data_types import (
|
|||||||
close_tty, normal_tty, open_tty, parse_input_from_terminal, raw_tty
|
close_tty, normal_tty, open_tty, parse_input_from_terminal, raw_tty
|
||||||
)
|
)
|
||||||
from kitty.key_encoding import (
|
from kitty.key_encoding import (
|
||||||
ALT, CTRL, PRESS, RELEASE, REPEAT, SHIFT, C, D, backspace_key,
|
ALT, CTRL, PRESS, RELEASE, REPEAT, SHIFT, backspace_key,
|
||||||
decode_key_event, enter_key
|
decode_key_event, enter_key, K
|
||||||
)
|
)
|
||||||
from kitty.utils import screen_size_function, write_all
|
from kitty.utils import screen_size_function, write_all
|
||||||
|
|
||||||
@ -28,6 +28,9 @@ from .handler import Handler
|
|||||||
from .operations import init_state, reset_state
|
from .operations import init_state, reset_state
|
||||||
|
|
||||||
|
|
||||||
|
C, D = K['C'], K['D']
|
||||||
|
|
||||||
|
|
||||||
def debug(*a, **kw):
|
def debug(*a, **kw):
|
||||||
from base64 import standard_b64encode
|
from base64 import standard_b64encode
|
||||||
buf = io.StringIO()
|
buf = io.StringIO()
|
||||||
|
|||||||
@ -13,11 +13,8 @@ from gettext import gettext as _
|
|||||||
from kitty.cli import parse_args
|
from kitty.cli import parse_args
|
||||||
from kitty.config import cached_values_for
|
from kitty.config import cached_values_for
|
||||||
from kitty.constants import config_dir
|
from kitty.constants import config_dir
|
||||||
from kitty.fast_data_types import wcswidth, is_emoji_presentation_base
|
from kitty.fast_data_types import is_emoji_presentation_base, wcswidth
|
||||||
from kitty.key_encoding import (
|
from kitty.key_encoding import CTRL, RELEASE, SHIFT, K, enter_key
|
||||||
DOWN, ESCAPE, F1, F2, F3, F4, F12, LEFT, RELEASE, RIGHT, SHIFT, TAB, UP, CTRL,
|
|
||||||
enter_key
|
|
||||||
)
|
|
||||||
from kitty.utils import get_editor
|
from kitty.utils import get_editor
|
||||||
|
|
||||||
from ..tui.handler import Handler
|
from ..tui.handler import Handler
|
||||||
@ -29,6 +26,17 @@ from ..tui.operations import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
HEX, NAME, EMOTICONS, FAVORITES = 'HEX', 'NAME', 'EMOTICONS', 'FAVORITES'
|
HEX, NAME, EMOTICONS, FAVORITES = 'HEX', 'NAME', 'EMOTICONS', 'FAVORITES'
|
||||||
|
UP = K['UP']
|
||||||
|
DOWN = K['DOWN']
|
||||||
|
LEFT = K['LEFT']
|
||||||
|
RIGHT = K['RIGHT']
|
||||||
|
TAB = K['TAB']
|
||||||
|
ESCAPE = K['ESCAPE']
|
||||||
|
F1 = K['F1']
|
||||||
|
F2 = K['F2']
|
||||||
|
F3 = K['F3']
|
||||||
|
F4 = K['F4']
|
||||||
|
F12 = K['F12']
|
||||||
favorites_path = os.path.join(config_dir, 'unicode-input-favorites.conf')
|
favorites_path = os.path.join(config_dir, 'unicode-input-favorites.conf')
|
||||||
INDEX_CHAR = '.'
|
INDEX_CHAR = '.'
|
||||||
DEFAULT_SET = tuple(map(
|
DEFAULT_SET = tuple(map(
|
||||||
|
|||||||
2
kitty/key_encoding.py
generated
2
kitty/key_encoding.py
generated
@ -459,7 +459,7 @@ rtype_map = {v: k for k, v in type_map.items()}
|
|||||||
mod_map = {c: i for i, c in enumerate('ABCDEFGHIJKLMNOP')}
|
mod_map = {c: i for i, c in enumerate('ABCDEFGHIJKLMNOP')}
|
||||||
rmod_map = {v: k for k, v in mod_map.items()}
|
rmod_map = {v: k for k, v in mod_map.items()}
|
||||||
key_rmap = {}
|
key_rmap = {}
|
||||||
g = globals()
|
g = K = {}
|
||||||
config_key_map = {}
|
config_key_map = {}
|
||||||
config_mod_map = {
|
config_mod_map = {
|
||||||
'SHIFT': SHIFT,
|
'SHIFT': SHIFT,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user