diff options
author | Silas Bartha <[email protected]> | 2024-07-31 21:06:04 -0400 |
---|---|---|
committer | Silas Bartha <[email protected]> | 2024-07-31 21:06:04 -0400 |
commit | 130ddd81170fed904218381d7182c36fd78e9d6d (patch) | |
tree | 465a44a447a8875270fca4b50a6a39a90466ad0b | |
parent | 15c97f12e9c78da55ae7663e9f653cb0bc98d289 (diff) |
Fix just pressedv0.4.1
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/input/resources.rs | 10 |
2 files changed, 7 insertions, 5 deletions
@@ -1,6 +1,6 @@ [package] name = "bevy_terminal_display" -version = "0.4.0" +version = "0.4.1" edition = "2021" license = "0BSD OR MIT OR Apache-2.0" description = "A plugin for the Bevy game engine which enables rendering to a terminal using unicode braille characters." diff --git a/src/input/resources.rs b/src/input/resources.rs index ba2f6dd..a733984 100644 --- a/src/input/resources.rs +++ b/src/input/resources.rs @@ -1,4 +1,4 @@ -use bevy::{prelude:: *, utils::HashSet}; +use bevy::{prelude::*, utils::HashSet}; use crossterm::event::{Event, KeyCode}; use std::sync::{Arc, Mutex}; @@ -28,8 +28,10 @@ impl TerminalInput { /// Sets given key to pressed pub(super) fn press(&mut self, code: KeyCode) { - self.pressed_keys.insert(code); - self.just_pressed_keys.insert(code); + if !self.pressed_keys.contains(&code) { + self.pressed_keys.insert(code); + self.just_pressed_keys.insert(code); + } } /// Sets given key to released and removes pressed state @@ -42,7 +44,7 @@ impl TerminalInput { pub(super) fn clear_just_released(&mut self) { self.just_released_keys.clear(); } - + /// Clears all just pressed keys pub(super) fn clear_just_pressed(&mut self) { self.just_pressed_keys.clear(); |