From e7dbb5d905e5a4ffe7f0586aeeafe5852bd186c7 Mon Sep 17 00:00:00 2001 From: Michael Webster Date: Sun, 11 Jan 2026 19:48:22 -0500 Subject: [PATCH] Clutter-A11y: Respect new setting to prevent resetting of the active dwell-click mode after a click action is performed. --- clutter/clutter/clutter-input-pointer-a11y.c | 3 +++ clutter/clutter/clutter-seat.h | 1 + src/backends/meta-input-settings.c | 3 +++ 3 files changed, 7 insertions(+) diff --git a/clutter/clutter/clutter-input-pointer-a11y.c b/clutter/clutter/clutter-input-pointer-a11y.c index b57ee81c0..2494979ba 100644 --- a/clutter/clutter/clutter-input-pointer-a11y.c +++ b/clutter/clutter/clutter-input-pointer-a11y.c @@ -305,6 +305,9 @@ update_dwell_click_type (ClutterInputDevice *device) clutter_seat_get_pointer_a11y_settings (device->seat, &settings); + if (settings.dwell_click_mode_lock) + return; + dwell_click_type = settings.dwell_click_type; switch (dwell_click_type) { diff --git a/clutter/clutter/clutter-seat.h b/clutter/clutter/clutter-seat.h index eb1dd82bf..d83421bf9 100644 --- a/clutter/clutter/clutter-seat.h +++ b/clutter/clutter/clutter-seat.h @@ -74,6 +74,7 @@ typedef struct _ClutterPointerA11ySettings gint secondary_click_delay; gint dwell_delay; gint dwell_threshold; + gboolean dwell_click_mode_lock; } ClutterPointerA11ySettings; /** diff --git a/src/backends/meta-input-settings.c b/src/backends/meta-input-settings.c index d75e4483f..53c9ad90c 100644 --- a/src/backends/meta-input-settings.c +++ b/src/backends/meta-input-settings.c @@ -1437,6 +1437,9 @@ load_pointer_a11y_settings (MetaInputSettings *input_settings, pointer_a11y_settings.dwell_gesture_secondary = pointer_a11y_dwell_direction_from_setting (input_settings, "dwell-gesture-secondary"); + pointer_a11y_settings.dwell_click_mode_lock = + g_settings_get_boolean (priv->mouse_a11y_settings, "dwell-click-mode-lock"); + clutter_seat_set_pointer_a11y_settings (CLUTTER_SEAT (priv->seat), &pointer_a11y_settings); }