diff options
author | 2024-06-11 20:22:44 +0200 | |
---|---|---|
committer | 2024-06-11 20:22:44 +0200 | |
commit | e6d0b3bda5042a1017a5944a5227c97e0ed6caf9 (patch) | |
tree | 916f837424c3baeacc1e0f43b02bc892a3445cbb /futures/src/keyboard.rs | |
parent | bda01567d59c00e42e5a208ee6d9ec4153d5c195 (diff) | |
parent | 6ea7846d88915f8d820c5126d7757f1346234522 (diff) | |
download | iced-e6d0b3bda5042a1017a5944a5227c97e0ed6caf9.tar.gz iced-e6d0b3bda5042a1017a5944a5227c97e0ed6caf9.tar.bz2 iced-e6d0b3bda5042a1017a5944a5227c97e0ed6caf9.zip |
Merge pull request #2456 from iced-rs/window-id-in-event-subscriptions
Introduce `window::Id` to `Event` subscriptions
Diffstat (limited to 'futures/src/keyboard.rs')
-rw-r--r-- | futures/src/keyboard.rs | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/futures/src/keyboard.rs b/futures/src/keyboard.rs index 8e7da38f..f0d7d757 100644 --- a/futures/src/keyboard.rs +++ b/futures/src/keyboard.rs @@ -1,5 +1,6 @@ //! Listen to keyboard events. use crate::core; +use crate::core::event; use crate::core::keyboard::{Event, Key, Modifiers}; use crate::subscription::{self, Subscription}; use crate::MaybeSend; @@ -18,16 +19,14 @@ where #[derive(Hash)] struct OnKeyPress; - subscription::filter_map((OnKeyPress, f), move |event, status| { - match (event, status) { - ( - core::Event::Keyboard(Event::KeyPressed { - key, modifiers, .. - }), - core::event::Status::Ignored, - ) => f(key, modifiers), - _ => None, - } + subscription::filter_map((OnKeyPress, f), move |event| match event { + subscription::Event::Interaction { + event: + core::Event::Keyboard(Event::KeyPressed { key, modifiers, .. }), + status: event::Status::Ignored, + .. + } => f(key, modifiers), + _ => None, }) } @@ -45,17 +44,13 @@ where #[derive(Hash)] struct OnKeyRelease; - subscription::filter_map((OnKeyRelease, f), move |event, status| { - match (event, status) { - ( - core::Event::Keyboard(Event::KeyReleased { - key, - modifiers, - .. - }), - core::event::Status::Ignored, - ) => f(key, modifiers), - _ => None, - } + subscription::filter_map((OnKeyRelease, f), move |event| match event { + subscription::Event::Interaction { + event: + core::Event::Keyboard(Event::KeyReleased { key, modifiers, .. }), + status: event::Status::Ignored, + .. + } => f(key, modifiers), + _ => None, }) } |