diff options
-rw-r--r-- | src/bin/ttyplay/input.rs | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/src/bin/ttyplay/input.rs b/src/bin/ttyplay/input.rs index 218a21b..dbdedd6 100644 --- a/src/bin/ttyplay/input.rs +++ b/src/bin/ttyplay/input.rs @@ -2,26 +2,19 @@ pub async fn handle_input( key: textmode::Key, event_w: async_std::channel::Sender<crate::event::Event>, ) -> anyhow::Result<()> { - match key { + let event = match key { textmode::Key::Char('g' | '0' | ')') => { - event_w.send(crate::event::Event::FirstFrame).await?; + crate::event::Event::FirstFrame } - textmode::Key::Char('G' | '$') => { - event_w.send(crate::event::Event::LastFrame).await?; - } - textmode::Key::Char('l' | 'n') => { - event_w.send(crate::event::Event::NextFrame).await?; - } - textmode::Key::Char('h' | 'p') => { - event_w.send(crate::event::Event::PreviousFrame).await?; - } - textmode::Key::Char('q') => { - event_w.send(crate::event::Event::Quit).await?; - } - textmode::Key::Char(' ') => { - event_w.send(crate::event::Event::Pause).await?; - } - _ => {} - } + textmode::Key::Char('G' | '$') => crate::event::Event::LastFrame, + textmode::Key::Char('l' | 'n') => crate::event::Event::NextFrame, + textmode::Key::Char('h' | 'p') => crate::event::Event::PreviousFrame, + textmode::Key::Char('q') => crate::event::Event::Quit, + textmode::Key::Char(' ') => crate::event::Event::Pause, + _ => return Ok(()), + }; + + event_w.send(event).await?; + Ok(()) } |