mirror of
https://github.com/gitui-org/gitui
synced 2026-05-23 08:58:21 +00:00
fix double key input on windows due to crossterm 0.26
This commit is contained in:
parent
d6f33532bb
commit
aa4266cd1f
1 changed files with 7 additions and 1 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use crate::notify_mutex::NotifyableMutex;
|
||||
use anyhow::Result;
|
||||
use crossbeam_channel::{unbounded, Receiver, Sender};
|
||||
use crossterm::event::{self, Event};
|
||||
use crossterm::event::{self, Event, Event::Key, KeyEventKind};
|
||||
use std::{
|
||||
sync::{
|
||||
atomic::{AtomicBool, Ordering},
|
||||
|
|
@ -113,6 +113,12 @@ impl Input {
|
|||
arc_current.store(true, Ordering::Relaxed);
|
||||
|
||||
if let Some(e) = Self::poll(POLL_DURATION)? {
|
||||
// windows send key release too, only process key press
|
||||
if let Key(key) = e {
|
||||
if key.kind != KeyEventKind::Press {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
tx.send(InputEvent::Input(e))?;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue