From c63ba3c7fab5b2cf4705cf85a4d4f13298e2d74c Mon Sep 17 00:00:00 2001 From: Jens Peters Date: Sun, 8 Jun 2025 11:38:25 +0200 Subject: [PATCH] cursor: omit pointer cursor shape for tablet tool Omit cursor notifications from a pointer when a tablet tool (stylus/pen) is in proximity. This is equivalent to `handle_request_set_cursor()` and prevents a resize cursor for out-of-surface scrolling with a tablet tool in recent GTK4 (which uses the cursor shape protocol). --- src/input/cursor.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/input/cursor.c b/src/input/cursor.c index d97b93ab..217f6be2 100644 --- a/src/input/cursor.c +++ b/src/input/cursor.c @@ -224,6 +224,16 @@ handle_request_set_shape(struct wl_listener *listener, void *data) return; } + /* + * Omit cursor notifications from a pointer when a tablet + * tool (stylus/pen) is in proximity. + */ + if (tablet_tool_has_focused_surface(seat) + && event->device_type + != WLR_CURSOR_SHAPE_MANAGER_V1_DEVICE_TYPE_TABLET_TOOL) { + return; + } + wlr_log(WLR_DEBUG, "set xcursor to shape %s", shape_name); wlr_cursor_set_xcursor(seat->cursor, seat->xcursor_manager, shape_name); }