From 27524bfc3d59223c556fa6af5de78c6565dd3c22 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 3 Mar 2020 15:06:10 +0530 Subject: [PATCH] Restore global key definitions so as not to break third party kittens that might use them --- kittens/diff/main.py | 2 +- kittens/hints/main.py | 2 +- kittens/resize_window/main.py | 2 +- kittens/tui/line_edit.py | 2 +- kittens/tui/loop.py | 2 +- kittens/unicode_input/main.py | 2 +- kitty/fast_data_types.pyi | 8 ++++++++ kitty/key_encoding.py | 13 +++++++------ 8 files changed, 21 insertions(+), 12 deletions(-) diff --git a/kittens/diff/main.py b/kittens/diff/main.py index 0aaed97ab..0132a8664 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 K, RELEASE, enter_key +from kitty.key_encoding import key_defs as K, RELEASE, enter_key from ..tui.handler import Handler from ..tui.images import ImageManager diff --git a/kittens/hints/main.py b/kittens/hints/main.py index bd8e93b8d..f162f65ff 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 K, backspace_key, enter_key +from kitty.key_encoding import key_defs as K, backspace_key, enter_key from kitty.utils import screen_size_function from ..tui.handler import Handler diff --git a/kittens/resize_window/main.py b/kittens/resize_window/main.py index 1b6065539..2bf6a20bf 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, RELEASE, K +from kitty.key_encoding import CTRL, RELEASE, key_defs as K from kitty.remote_control import encode_send, parse_rc_args from ..tui.handler import Handler diff --git a/kittens/tui/line_edit.py b/kittens/tui/line_edit.py index cc12c5f0d..65a04922a 100644 --- a/kittens/tui/line_edit.py +++ b/kittens/tui/line_edit.py @@ -3,7 +3,7 @@ # License: GPL v3 Copyright: 2018, Kovid Goyal from kitty.fast_data_types import truncate_point_for_length, wcswidth -from kitty.key_encoding import RELEASE, K +from kitty.key_encoding import RELEASE, key_defs as K HOME = K['HOME'] END = K['END'] diff --git a/kittens/tui/loop.py b/kittens/tui/loop.py index aba3b6c0f..c730a4e09 100644 --- a/kittens/tui/loop.py +++ b/kittens/tui/loop.py @@ -20,7 +20,7 @@ from kitty.fast_data_types import ( ) from kitty.key_encoding import ( ALT, CTRL, PRESS, RELEASE, REPEAT, SHIFT, backspace_key, - decode_key_event, enter_key, K + decode_key_event, enter_key, key_defs as K ) from kitty.utils import screen_size_function, write_all diff --git a/kittens/unicode_input/main.py b/kittens/unicode_input/main.py index 6356450d6..f8e103294 100644 --- a/kittens/unicode_input/main.py +++ b/kittens/unicode_input/main.py @@ -14,7 +14,7 @@ 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 is_emoji_presentation_base, wcswidth -from kitty.key_encoding import CTRL, RELEASE, SHIFT, K, enter_key +from kitty.key_encoding import CTRL, RELEASE, SHIFT, key_defs as K, enter_key from kitty.utils import get_editor from ..tui.handler import Handler diff --git a/kitty/fast_data_types.pyi b/kitty/fast_data_types.pyi index f52ddc935..e605a8bed 100644 --- a/kitty/fast_data_types.pyi +++ b/kitty/fast_data_types.pyi @@ -48,3 +48,11 @@ def glfw_init(path: str, debug_keyboard: bool = False) -> bool: def free_font_data() -> None: pass + + +def toggle_maximized() -> bool: + pass + + +def toggle_fullscreen() -> bool: + pass diff --git a/kitty/key_encoding.py b/kitty/key_encoding.py index 325650606..29315ec67 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 = K = {} +key_defs = {} config_key_map = {} config_mod_map = { 'SHIFT': SHIFT, @@ -474,13 +474,14 @@ config_mod_map = { } for key_name, enc in ENCODING.items(): key_name = key_name.replace(' ', '_') - g[key_name] = config_key_map[key_name] = key_name + key_defs[key_name] = config_key_map[key_name] = key_name key_rmap[enc] = key_name -config_key_map.update({k: g[v] for k, v in key_name_aliases.items() if v in g}) +config_key_map.update({k: key_defs[v] for k, v in key_name_aliases.items() if v in key_defs}) -enter_key = KeyEvent(PRESS, 0, g['ENTER']) -backspace_key = KeyEvent(PRESS, 0, g['BACKSPACE']) -del key_name, enc, g +enter_key = KeyEvent(PRESS, 0, key_defs['ENTER']) +backspace_key = KeyEvent(PRESS, 0, key_defs['BACKSPACE']) +globals().update(key_defs) +del key_name, enc def decode_key_event(text):