forked from aniani/vim
patch 9.0.1063: when using Kitty a shell command may mess up the key state
Problem: When using Kitty a shell command may mess up the key protocol state. Solution: Output t_te before t_TE. If t_te switches between the main and the alternate screen then deactivating the key protocol by t_TE should happen after switching screen. (issue #11705)
This commit is contained in:
@@ -3891,10 +3891,13 @@ stoptermcap(void)
|
||||
out_str(T_KE); // stop "keypad transmit" mode
|
||||
out_flush();
|
||||
termcap_active = FALSE;
|
||||
|
||||
// Output t_te first, it may switch between main and alternate screen,
|
||||
// and following codes may work on the active screen only.
|
||||
out_str(T_TE); // stop termcap mode
|
||||
cursor_on(); // just in case it is still off
|
||||
out_str_t_TE(); // stop "raw" mode, modifyOtherKeys and
|
||||
// Kitty keyboard protocol
|
||||
out_str(T_TE); // stop termcap mode
|
||||
screen_start(); // don't know where cursor is now
|
||||
out_flush();
|
||||
}
|
||||
|
Reference in New Issue
Block a user