diff --git a/tty.c b/tty.c index 07b744cb..ac6a2cf7 100644 --- a/tty.c +++ b/tty.c @@ -180,7 +180,7 @@ tty_start_tty(struct tty *tty) tty_putcode(tty, TTYC_SGR0); memcpy(&tty->cell, &grid_default_cell, sizeof tty->cell); - tty_putcode(tty, TTYC_SMKX); + tty_putcode(tty, TTYC_RMKX); tty_putcode(tty, TTYC_ENACS); tty_putcode(tty, TTYC_CLEAR); @@ -410,6 +410,12 @@ tty_update_mode(struct tty *tty, int mode) else tty_puts(tty, "\033[?1000l"); } + if (changed & MODE_KKEYPAD) { + if (mode & MODE_KKEYPAD) + tty_putcode(tty, TTYC_SMKX); + else + tty_putcode(tty, TTYC_RMKX); + } tty->mode = mode; }