diff --git a/kittens/diff/main.py b/kittens/diff/main.py index a6c1cbccf..0aaed97ab 100644 --- a/kittens/diff/main.py +++ b/kittens/diff/main.py @@ -17,7 +17,7 @@ from gettext import gettext as _ from kitty.cli import CONFIG_HELP, parse_args from kitty.constants import appname 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.images import ImageManager @@ -40,6 +40,7 @@ except ImportError: INITIALIZING, COLLECTED, DIFFED, COMMAND, MESSAGE = range(5) +ESCAPE = K['ESCAPE'] def generate_diff(collection, context): diff --git a/kittens/hints/main.py b/kittens/hints/main.py index 286a28d60..bd8e93b8d 100644 --- a/kittens/hints/main.py +++ b/kittens/hints/main.py @@ -12,7 +12,7 @@ from itertools import repeat from kitty.cli import parse_args 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 ..tui.handler import Handler @@ -23,6 +23,7 @@ URL_PREFIXES = 'http https file ftp'.split() DEFAULT_HINT_ALPHABET = string.digits + string.ascii_lowercase DEFAULT_REGEX = r'(?m)^\s*(.+)\s*$' screen_size = screen_size_function() +ESCAPE = K['ESCAPE'] class Mark: diff --git a/kittens/resize_window/main.py b/kittens/resize_window/main.py index 14a57208b..1b6065539 100644 --- a/kittens/resize_window/main.py +++ b/kittens/resize_window/main.py @@ -8,7 +8,7 @@ import sys from kitty.cli import parse_args from kitty.cmds import cmap, parse_subcommand_cli 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 ..tui.handler import Handler @@ -16,6 +16,11 @@ from ..tui.loop import Loop from ..tui.operations import styled global_opts = None +ESCAPE = K['ESCAPE'] +N = K['N'] +S = K['S'] +T = K['T'] +W = K['W'] class Resize(Handler): diff --git a/kittens/tui/line_edit.py b/kittens/tui/line_edit.py index 355570f67..cc12c5f0d 100644 --- a/kittens/tui/line_edit.py +++ b/kittens/tui/line_edit.py @@ -3,7 +3,14 @@ # License: GPL v3 Copyright: 2018, Kovid Goyal 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: diff --git a/kittens/tui/loop.py b/kittens/tui/loop.py index 5081533a6..aba3b6c0f 100644 --- a/kittens/tui/loop.py +++ b/kittens/tui/loop.py @@ -19,8 +19,8 @@ from kitty.fast_data_types import ( close_tty, normal_tty, open_tty, parse_input_from_terminal, raw_tty ) from kitty.key_encoding import ( - ALT, CTRL, PRESS, RELEASE, REPEAT, SHIFT, C, D, backspace_key, - decode_key_event, enter_key + ALT, CTRL, PRESS, RELEASE, REPEAT, SHIFT, backspace_key, + decode_key_event, enter_key, K ) from kitty.utils import screen_size_function, write_all @@ -28,6 +28,9 @@ from .handler import Handler from .operations import init_state, reset_state +C, D = K['C'], K['D'] + + def debug(*a, **kw): from base64 import standard_b64encode buf = io.StringIO() diff --git a/kittens/unicode_input/main.py b/kittens/unicode_input/main.py index 0470cfe05..6356450d6 100644 --- a/kittens/unicode_input/main.py +++ b/kittens/unicode_input/main.py @@ -13,11 +13,8 @@ from gettext import gettext as _ from kitty.cli import parse_args from kitty.config import cached_values_for from kitty.constants import config_dir -from kitty.fast_data_types import wcswidth, is_emoji_presentation_base -from kitty.key_encoding import ( - DOWN, ESCAPE, F1, F2, F3, F4, F12, LEFT, RELEASE, RIGHT, SHIFT, TAB, UP, CTRL, - enter_key -) +from kitty.fast_data_types import is_emoji_presentation_base, wcswidth +from kitty.key_encoding import CTRL, RELEASE, SHIFT, K, enter_key from kitty.utils import get_editor from ..tui.handler import Handler @@ -29,6 +26,17 @@ from ..tui.operations import ( ) 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') INDEX_CHAR = '.' DEFAULT_SET = tuple(map( diff --git a/kitty/key_encoding.py b/kitty/key_encoding.py index 46b5325c7..325650606 100644 --- a/kitty/key_encoding.py +++ b/kitty/key_encoding.py @@ -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')} rmod_map = {v: k for k, v in mod_map.items()} key_rmap = {} -g = globals() +g = K = {} config_key_map = {} config_mod_map = { 'SHIFT': SHIFT,