]> git.seodisparate.com - mpd_info_screen/commitdiff
Fix key_press event not only on key down 0.2.0
authorStephen Seo <seo.disparate@gmail.com>
Thu, 16 Dec 2021 02:19:32 +0000 (11:19 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Thu, 16 Dec 2021 02:19:32 +0000 (11:19 +0900)
src/main.rs

index 0b0c1427251c36194b9e4c891995b4907d8e76f8..3cfb6c63f4acef86de614f948c14c6ccc0a186d6 100644 (file)
@@ -3,7 +3,7 @@ mod display;
 mod mpd_handler;
 
 use ggez::conf::{WindowMode, WindowSetup};
-use ggez::event::winit_event::{KeyboardInput, ModifiersState};
+use ggez::event::winit_event::{ElementState, KeyboardInput, ModifiersState};
 use ggez::event::{self, ControlFlow, EventHandler};
 use ggez::graphics::{self, Rect};
 use ggez::{ContextBuilder, GameError};
@@ -79,6 +79,7 @@ fn main() -> Result<(), String> {
                     input:
                         KeyboardInput {
                             virtual_keycode: Some(keycode),
+                            state,
                             ..
                         },
                     is_synthetic: _,
@@ -90,7 +91,9 @@ fn main() -> Result<(), String> {
                         }
                         _ => (),
                     }
-                    display.key_down_event(ctx, keycode, modifiers_state.into(), false);
+                    if state == ElementState::Pressed {
+                        display.key_down_event(ctx, keycode, modifiers_state.into(), false);
+                    }
                 }
                 event::winit_event::WindowEvent::Resized(phys_size) => {
                     graphics::set_screen_coordinates(