diff --git a/fuzz/fuzz_targets/edit.rs b/fuzz/fuzz_targets/edit.rs index 1480ea8..3a38249 100644 --- a/fuzz/fuzz_targets/edit.rs +++ b/fuzz/fuzz_targets/edit.rs @@ -30,6 +30,7 @@ macro_rules! arbitrary_key_enum { arbitrary_key_enum!( Char(char), + F(u8), Backspace, Enter, Left, diff --git a/src/input.rs b/src/input.rs index 93f4d52..a9a2e1e 100644 --- a/src/input.rs +++ b/src/input.rs @@ -9,6 +9,8 @@ use termion::event::{Event as TerimonEvent, Key as TermionKey}; pub enum Key { /// Normal letter key input. Char(char), + /// F1, F2, F3, ... keys. + F(u8), Backspace, Enter, Left, @@ -106,6 +108,7 @@ impl From for Input { KeyCode::PageUp => Key::PageUp, KeyCode::PageDown => Key::PageDown, KeyCode::Esc => Key::Esc, + KeyCode::F(x) => Key::F(x), _ => Key::Null, }; Self { key, ctrl, alt } @@ -153,6 +156,7 @@ impl From for Input { BackTab => Key::Tab, Delete => Key::Delete, Esc => Key::Esc, + F(x) => Key::F(x), _ => Key::Null, };