From a66d44054c4aae44c307b10bb10469b4565e5027 Mon Sep 17 00:00:00 2001 From: David Adam Date: Wed, 9 Sep 2015 17:11:53 +0800 Subject: reader.cpp: send smkx/rmkx when entering/leaving interactive mode Closes #2139. --- src/reader.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/reader.cpp') diff --git a/src/reader.cpp b/src/reader.cpp index 0b492cf4..ceb5959f 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -43,6 +43,20 @@ commence. #include #endif +#if HAVE_NCURSES_H +#include +#elif HAVE_NCURSES_CURSES_H +#include +#else +#include +#endif + +#if HAVE_TERM_H +#include +#elif HAVE_NCURSES_TERM_H +#include +#endif + #include #include #include @@ -3083,6 +3097,13 @@ const wchar_t *reader_readline(int nchars) exec_prompt(); + /* Send the smkx sequence if defined to enable arrow keys etc. + See https://github.com/fish-shell/fish-shell/issues/2139 and + http://invisible-island.net/xterm/xterm.faq.html#xterm_arrows + */ + + tputs(keypad_xmit, 1, &writeb); + reader_super_highlight_me_plenty(); s_reset(&data->screen, screen_reset_abandon_line); reader_repaint(); @@ -4195,6 +4216,13 @@ const wchar_t *reader_readline(int nchars) wperror(L"tcsetattr"); } + /* Send the rmkx sequence if defined to disable arrow keys etc. + See https://github.com/fish-shell/fish-shell/issues/2139 and + http://invisible-island.net/xterm/xterm.faq.html#xterm_arrows + */ + + tputs(keypad_local, 1, &writeb); + set_color(rgb_color_t::reset(), rgb_color_t::reset()); } -- cgit v1.2.3