diff options
Diffstat (limited to 'src/tui.rs')
-rw-r--r-- | src/tui.rs | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -1,8 +1,12 @@ +use crossterm::event::{ + Event, KeyboardEnhancementFlags, PopKeyboardEnhancementFlags, + PushKeyboardEnhancementFlags, +}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; -use crossterm::{event, event::Event, execute}; +use crossterm::{event, execute}; use ratatui::prelude::{CrosstermBackend, Terminal}; use std::io; use std::io::{stdout, Stdout}; @@ -11,6 +15,12 @@ pub type Tui = Terminal<CrosstermBackend<Stdout>>; pub fn init() -> io::Result<Tui> { execute!(stdout(), EnterAlternateScreen)?; + execute!( + stdout(), + PushKeyboardEnhancementFlags( + KeyboardEnhancementFlags::DISAMBIGUATE_ESCAPE_CODES, + ) + )?; enable_raw_mode()?; Terminal::new(CrosstermBackend::new(stdout())) @@ -18,6 +28,7 @@ pub fn init() -> io::Result<Tui> { pub fn restore() -> io::Result<()> { execute!(stdout(), LeaveAlternateScreen)?; + execute!(stdout(), PopKeyboardEnhancementFlags)?; disable_raw_mode()?; Ok(()) |