From 6f5ca389fffc70240e160d176ce7872c782ef720 Mon Sep 17 00:00:00 2001 From: rhysd Date: Sat, 3 Aug 2024 08:47:03 +0900 Subject: [PATCH] support 'Ctrl + Home' and 'Ctrl + End' for termion backend --- src/input/termion.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/input/termion.rs b/src/input/termion.rs index 0133f73..a495030 100644 --- a/src/input/termion.rs +++ b/src/input/termion.rs @@ -20,7 +20,9 @@ impl From for Input { | KeyEvent::CtrlUp | KeyEvent::CtrlRight | KeyEvent::CtrlDown - | KeyEvent::CtrlLeft => (true, false, false), + | KeyEvent::CtrlLeft + | KeyEvent::CtrlHome + | KeyEvent::CtrlEnd => (true, false, false), KeyEvent::Alt(_) | KeyEvent::AltUp | KeyEvent::AltRight @@ -47,8 +49,8 @@ impl From for Input { KeyEvent::Down | KeyEvent::CtrlDown | KeyEvent::AltDown | KeyEvent::ShiftDown => { Key::Down } - KeyEvent::Home => Key::Home, - KeyEvent::End => Key::End, + KeyEvent::Home | KeyEvent::CtrlHome => Key::Home, + KeyEvent::End | KeyEvent::CtrlEnd => Key::End, KeyEvent::PageUp => Key::PageUp, KeyEvent::PageDown => Key::PageDown, KeyEvent::BackTab => Key::Tab, @@ -123,6 +125,7 @@ mod tests { (KeyEvent::ShiftDown, input(Key::Down, false, false, true)), (KeyEvent::AltUp, input(Key::Up, false, true, false)), (KeyEvent::CtrlLeft, input(Key::Left, true, false, false)), + (KeyEvent::CtrlHome, input(Key::Home, true, false, false)), ] { assert_eq!(Input::from(from), to, "{:?} -> {:?}", from, to); }