1
0
mirror of https://github.com/mfontanini/presenterm.git synced 2026-09-01 23:33:21 -06:00

Merge pull request #183 from mfontanini/release-events-state-clear

Don't clear input state on key release event
This commit is contained in:
Matias Fontanini 2024-01-29 13:33:52 -08:00 committed by GitHub
commit 2cdc1bcfdb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -24,15 +24,14 @@ impl UserInput {
pub(crate) fn next_command(&mut self) -> io::Result<Option<Command>> {
let mut events = mem::take(&mut self.events);
let (command, events) = match read()? {
// Ignore release events
Event::Key(event) if event.kind == KeyEventKind::Release => (None, events),
Event::Key(event) => {
if event.kind == KeyEventKind::Release {
return Ok(None);
}
events.push(event);
self.match_events(events)
}
Event::Resize(..) => (Some(Command::Redraw), events),
_ => (None, mem::take(&mut self.events)),
_ => (None, vec![]),
};
self.events = events;
Ok(command)