summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2021-05-02 17:05:30 +1000
committerMaxime Coste <mawww@kakoune.org>2021-05-02 17:06:43 +1000
commit47c0d2038807757207cde3b3e00fbc1ca9448178 (patch)
treead1337532f9d5a087ec49bde2e0bc8c42fc2af0e /src
parentdb9ef82398a08bdf985ff26bfb230fb0cd1221a5 (diff)
Request xterm 'modifyOtherKeys' mode to opt-in CSI u key reporting
Various terminal emulators now support this `CSI > 4 ; 1 m` sequence to enable CSI u style reporting, opt into it on startup. Closes #4103
Diffstat (limited to 'src')
-rw-r--r--src/ncurses_ui.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ncurses_ui.cc b/src/ncurses_ui.cc
index fce51cb7..18be7bd2 100644
--- a/src/ncurses_ui.cc
+++ b/src/ncurses_ui.cc
@@ -412,6 +412,8 @@ void NCursesUI::set_terminal_mode() const
fputs("\033=", stdout);
// force enable report focus events
fputs("\033[?1004h", stdout);
+ // request CSI u style key reporting
+ fputs("\033[>4;1m", stdout);
fflush(stdout);
}
@@ -420,6 +422,7 @@ void NCursesUI::restore_terminal_mode() const
tcsetattr(STDIN_FILENO, TCSAFLUSH, &m_original_termios);
fputs("\033>", stdout);
fputs("\033[?1004l", stdout);
+ fputs("\033[>4;0m", stdout);
fflush(stdout);
}