From cf7237c9d3f34ac4fe74174b01b45412ff691626 Mon Sep 17 00:00:00 2001 From: replydev Date: Fri, 12 May 2023 17:25:19 +0200 Subject: [PATCH 1/2] Workaround to fix double input on windows --- src/interface/event.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/interface/event.rs b/src/interface/event.rs index 067cfb81..6ffa4a98 100644 --- a/src/interface/event.rs +++ b/src/interface/event.rs @@ -2,7 +2,7 @@ use std::sync::mpsc; use std::thread; use std::time::{Duration, Instant}; -use crossterm::event::{self, Event as CrosstermEvent, KeyEvent, MouseEvent}; +use crossterm::event::{self, Event as CrosstermEvent, KeyEvent, KeyEventKind, MouseEvent}; use crate::interface::app::AppResult; @@ -50,7 +50,15 @@ impl EventHandler { if event::poll(timeout).expect("no events available") { match event::read().expect("unable to read event") { - CrosstermEvent::Key(e) => sender.send(Event::Key(e)), + CrosstermEvent::Key(e) => { + // Workaround to fix double input on Windows + // Please check https://github.com/crossterm-rs/crossterm/issues/752 + if e.kind == KeyEventKind::Press { + sender.send(Event::Key(e)) + } else { + Ok(()) + } + } CrosstermEvent::Mouse(e) => sender.send(Event::Mouse(e)), CrosstermEvent::Resize(w, h) => sender.send(Event::Resize(w, h)), CrosstermEvent::FocusGained => sender.send(Event::FocusGained()), From 1e51d398ed23048692b1fca72015fc6a6d381211 Mon Sep 17 00:00:00 2001 From: replydev Date: Fri, 12 May 2023 17:29:27 +0200 Subject: [PATCH 2/2] Bump version to 1.2.4 --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d0a529cd..661ed548 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -318,7 +318,7 @@ dependencies = [ [[package]] name = "cotp" -version = "1.2.3" +version = "1.2.4" dependencies = [ "aes-gcm", "base64 0.21.0", diff --git a/Cargo.toml b/Cargo.toml index f2d24153..35006269 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cotp" -version = "1.2.3" +version = "1.2.4" authors = ["replydev "] edition = "2021" description = "Trustworthy, encrypted, command-line TOTP/HOTP authenticator app with import functionality."