From 60cd12710ab81ee4682b5d8f7211346d8464da2f Mon Sep 17 00:00:00 2001 From: Zrzka Date: Fri, 20 Sep 2019 19:19:40 +0200 Subject: [PATCH] Add '\r' back for the KeyEvent::Enter (#239) --- crossterm_input/src/input.rs | 1 + crossterm_input/src/input/unix_input.rs | 4 ++-- crossterm_input/src/input/windows_input.rs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/crossterm_input/src/input.rs b/crossterm_input/src/input.rs index a55043c..4f7cf38 100644 --- a/crossterm_input/src/input.rs +++ b/crossterm_input/src/input.rs @@ -98,6 +98,7 @@ pub enum KeyEvent { End, PageUp, PageDown, + Tab, BackTab, Delete, Insert, diff --git a/crossterm_input/src/input/unix_input.rs b/crossterm_input/src/input/unix_input.rs index 384cf55..7b54e89 100644 --- a/crossterm_input/src/input/unix_input.rs +++ b/crossterm_input/src/input/unix_input.rs @@ -266,8 +266,8 @@ where None => InputEvent::Keyboard(KeyEvent::Esc), } } - b'\n' => InputEvent::Keyboard(KeyEvent::Enter), - b'\t' => InputEvent::Keyboard(KeyEvent::Char('\t')), + b'\r' | b'\n' => InputEvent::Keyboard(KeyEvent::Enter), + b'\t' => InputEvent::Keyboard(KeyEvent::Tab), b'\x7F' => InputEvent::Keyboard(KeyEvent::Backspace), c @ b'\x01'..=b'\x1A' => { InputEvent::Keyboard(KeyEvent::Ctrl((c as u8 - 0x1 + b'a') as char)) diff --git a/crossterm_input/src/input/windows_input.rs b/crossterm_input/src/input/windows_input.rs index 5a83b46..41a71d6 100644 --- a/crossterm_input/src/input/windows_input.rs +++ b/crossterm_input/src/input/windows_input.rs @@ -397,7 +397,7 @@ fn parse_key_event_record(key_event: &KeyEventRecord) -> Option { if character == '\t' { Some(KeyEvent::BackTab) } else { - Some(KeyEvent::Char(character)) + Some(KeyEvent::Tab) } } else { Some(KeyEvent::Char(character))