Skip to content

Commit

Permalink
Merge pull request #4 from luqmanishere/windows-duplicate
Browse files Browse the repository at this point in the history
Adds checks for key 'press' on Windows for keyboard events
  • Loading branch information
TheEmeraldBee authored Apr 10, 2024
2 parents c423a84 + 39bc24e commit a6ef9d5
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/events.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crossterm::event::{Event, KeyCode, KeyEvent};
use crossterm::event::{Event, KeyCode, KeyEvent, KeyEventKind};

use crate::State;

Expand All @@ -13,7 +13,7 @@ impl Events {
/// Returns whether a key was pressed this frame.
pub fn key(&self, code: KeyCode) -> bool {
if let Some(Event::Key(key_event)) = self.event {
if key_event.code == code {
if key_event.code == code && key_event.kind == KeyEventKind::Press {
return true;
}
}
Expand All @@ -24,7 +24,7 @@ impl Events {
/// Returns whether a Key Event was completed this frame.
pub fn key_event(&self, check_event: KeyEvent) -> bool {
if let Some(Event::Key(key_event)) = self.event {
if key_event == check_event {
if key_event == check_event && key_event.kind == KeyEventKind::Press {
return true;
}
}
Expand All @@ -36,7 +36,7 @@ impl Events {
/// This will consume the key, not passing it on to future widgets.
pub fn consume_key(&mut self, code: KeyCode) -> bool {
if let Some(Event::Key(key_event)) = self.event {
if key_event.code == code {
if key_event.code == code && key_event.kind == KeyEventKind::Press {
self.event = None;
return true;
}
Expand Down

0 comments on commit a6ef9d5

Please sign in to comment.