From 26f078d51233c7ac11a73661698338eca846fe5b Mon Sep 17 00:00:00 2001 From: Sapphire Date: Wed, 11 Feb 2026 18:40:09 -0600 Subject: [PATCH] unblock inputs on exit --- wayvr/src/backend/openxr/blocker.rs | 4 ++++ wayvr/src/backend/openxr/mod.rs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/wayvr/src/backend/openxr/blocker.rs b/wayvr/src/backend/openxr/blocker.rs index 981e309a..6845f328 100644 --- a/wayvr/src/backend/openxr/blocker.rs +++ b/wayvr/src/backend/openxr/blocker.rs @@ -18,6 +18,10 @@ impl InputBlocker { } } + pub fn unblock(&self, monado: &mut Monado) { + self.block_inputs(monado, false, false); + } + pub fn update(&mut self, app: &mut AppState) { let Some(monado) = &mut app.monado else { return; // monado not available diff --git a/wayvr/src/backend/openxr/mod.rs b/wayvr/src/backend/openxr/mod.rs index e43adf46..125209fd 100644 --- a/wayvr/src/backend/openxr/mod.rs +++ b/wayvr/src/backend/openxr/mod.rs @@ -499,6 +499,10 @@ pub fn openxr_run(show_by_default: bool, headless: bool) -> Result<(), BackendEr watch.config.active_state.as_mut().unwrap().transform = watch_transform; } // main_loop + if let (Some(blocker), Some(monado)) = (blocker, app.monado.as_mut()) { + blocker.unblock(monado); + } + overlays.persist_layout(&mut app); if let Err(e) = save_state(&app.session.config) { log::error!("Could not save state: {e:?}");