diff --git a/winit/src/lib.rs b/winit/src/lib.rs index 1a50505b..a95898c4 100644 --- a/winit/src/lib.rs +++ b/winit/src/lib.rs @@ -1466,6 +1466,18 @@ async fn run_instance

( } for (id, event) in events.drain(..) { + if id.is_none() + && matches!( + event, + core::Event::Keyboard(_) + | core::Event::Touch(_) + | core::Event::Mouse(_) + ) + { + _ = control_sender + .start_send(Control::ChangeFlow(ControlFlow::Wait)); + continue; + } runtime.broadcast(subscription::Event::Interaction { window: id.unwrap_or(window::Id::NONE), event,