From f8344126a16e7f8712fa123076fc34c9238493a7 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Wed, 19 Aug 2026 18:12:11 +0200 Subject: [PATCH] input: Update the pointer state on absolute pointer events as well --- src/input/mod.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/input/mod.rs b/src/input/mod.rs index 76d2c355..45586b03 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -767,15 +767,25 @@ impl State { ); ptr.frame(self); + let mut shell = self.common.shell.write(); // Keep the seat's active output following the pointer. Click-to- // focus (PointerButton) resolves its target via // `seat.active_output()` let previous_output = seat.active_output(); if previous_output != output { + for session in cursor_sessions_for_output(&shell, &previous_output) { + session.set_cursor_pos(None); + } seat.set_active_output(&output); } - let shell = self.common.shell.read(); + shell.update_pointer_position(position.to_local(&output), &output); + shell.update_focal_point( + &seat, + position, + self.common.config.cosmic_conf.accessibility_zoom.view_moves, + ); + update_output_image_copy_cursor_position( &shell, &self.common.clock,