diff --git a/kitty/client.py b/kitty/client.py index c05749ef7..42ec04d30 100644 --- a/kitty/client.py +++ b/kitty/client.py @@ -34,6 +34,14 @@ def screen_bell() -> None: pass +def screen_normal_keypad_mode() -> None: + write('\x1b>') + + +def screen_alternate_keypad_mode() -> None: + write('\x1b=') + + def screen_cursor_position(y: int, x: int) -> None: write(CSI + '%s;%sH' % (y, x)) diff --git a/kitty/control-codes.h b/kitty/control-codes.h index 2931bc59b..28f6c2e35 100644 --- a/kitty/control-codes.h +++ b/kitty/control-codes.h @@ -110,10 +110,10 @@ #define ESC_DECRC '8' // Set normal keypad mode -#define ESC_DECPNM '>' +#define ESC_DECKPNM '>' // Set alternate keypad mode -#define ESC_DECPAM '=' +#define ESC_DECKPAM '=' // ECMA-48 CSI sequences. // --------------------- diff --git a/kitty/parser.c b/kitty/parser.c index 47673fdf5..35bb3591d 100644 --- a/kitty/parser.c +++ b/kitty/parser.c @@ -225,9 +225,9 @@ handle_esc_mode_char(Screen *screen, uint32_t ch, PyObject DUMP_UNUSED *dump_cal CALL_ED(screen_save_cursor); break; case ESC_DECRC: CALL_ED(screen_restore_cursor); break; - case ESC_DECPNM: + case ESC_DECKPNM: CALL_ED(screen_normal_keypad_mode); break; - case ESC_DECPAM: + case ESC_DECKPAM: CALL_ED(screen_alternate_keypad_mode); break; case '%': case '(':