Backport #3162 to fix super key not triggering overview
Note the MR comments indicate this might break something else, but that's about multiple touch events so probably less important than 'super doesn't work'.
This commit is contained in:
parent
1be4b1a825
commit
dc9d190ac9
57
3162.patch
Normal file
57
3162.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From 69ce2cc5cf1f4759afea7fd3429c9f33b6d07919 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Tue, 8 Aug 2023 16:04:25 +0200
|
||||
Subject: [PATCH] backends/native: Fix handling order of key event
|
||||
|
||||
First create the event with the current xkb modifier mask, then
|
||||
update the xkb_state and the modifier mask. This is how it happened
|
||||
before commit 2e8d8397081, and how it should stay.
|
||||
|
||||
Fixes: 2e8d8397081 ("backends/native: Port to new event constructors")
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2951
|
||||
---
|
||||
src/backends/native/meta-seat-impl.c | 20 ++++++++++----------
|
||||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/backends/native/meta-seat-impl.c b/src/backends/native/meta-seat-impl.c
|
||||
index 0c26647b43..77eb4faac6 100644
|
||||
--- a/src/backends/native/meta-seat-impl.c
|
||||
+++ b/src/backends/native/meta-seat-impl.c
|
||||
@@ -415,16 +415,6 @@ meta_seat_impl_notify_key_in_impl (MetaSeatImpl *seat_impl,
|
||||
return;
|
||||
}
|
||||
}
|
||||
-
|
||||
- keycode = meta_xkb_evdev_to_keycode (key);
|
||||
-
|
||||
- /* We must be careful and not pass multiple releases to xkb, otherwise it gets
|
||||
- confused and locks the modifiers */
|
||||
- if (state != AUTOREPEAT_VALUE)
|
||||
- {
|
||||
- changed_state = xkb_state_update_key (seat_impl->xkb, keycode,
|
||||
- state ? XKB_KEY_DOWN : XKB_KEY_UP);
|
||||
- }
|
||||
else
|
||||
{
|
||||
changed_state = 0;
|
||||
@@ -438,6 +428,16 @@ meta_seat_impl_notify_key_in_impl (MetaSeatImpl *seat_impl,
|
||||
seat_impl->button_state,
|
||||
time_us, key, state);
|
||||
|
||||
+ keycode = meta_xkb_evdev_to_keycode (key);
|
||||
+
|
||||
+ /* We must be careful and not pass multiple releases to xkb, otherwise it gets
|
||||
+ confused and locks the modifiers */
|
||||
+ if (state != AUTOREPEAT_VALUE)
|
||||
+ {
|
||||
+ changed_state = xkb_state_update_key (seat_impl->xkb, keycode,
|
||||
+ state ? XKB_KEY_DOWN : XKB_KEY_UP);
|
||||
+ }
|
||||
+
|
||||
if (!meta_input_device_native_process_kbd_a11y_event_in_impl (seat_impl->core_keyboard,
|
||||
event))
|
||||
queue_event (seat_impl, event);
|
||||
--
|
||||
GitLab
|
||||
|
@ -30,6 +30,11 @@ Patch1: mutter-42.alpha-disable-tegra.patch
|
||||
# https://pagure.io/fedora-workstation/issue/79
|
||||
Patch2: 0001-place-Always-center-initial-setup-fedora-welcome.patch
|
||||
|
||||
# fix super key no longer triggering overview
|
||||
# https://gitlab.gnome.org/GNOME/mutter/-/issues/2951
|
||||
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3162
|
||||
Patch3: 3162.patch
|
||||
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.41.0
|
||||
BuildRequires: pkgconfig(sm)
|
||||
BuildRequires: pkgconfig(libwacom)
|
||||
|
Loading…
Reference in New Issue
Block a user