aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Silas Bartha <[email protected]>2024-07-31 21:06:04 -0400
committerLibravatar Silas Bartha <[email protected]>2024-07-31 21:06:04 -0400
commit130ddd81170fed904218381d7182c36fd78e9d6d (patch)
tree465a44a447a8875270fca4b50a6a39a90466ad0b
parent15c97f12e9c78da55ae7663e9f653cb0bc98d289 (diff)
Fix just pressedv0.4.1
-rw-r--r--Cargo.toml2
-rw-r--r--src/input/resources.rs10
2 files changed, 7 insertions, 5 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 680ed78..51422a5 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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();