xserver/hw
Julian Orth d038d2c080 xwayland: Don't run key behaviors and actions
Consider the following keymap:

```xkb
xkb_keymap {
    xkb_keycodes {
        <compose> = 135;
    };
    xkb_symbols {
        key <compose> {
            [ SetGroup(group = +1) ]
        };
    };
};
```

When the user presses the compose key, the following happens:

1. The compositor forwards the key to Xwayland.
2. Xwayland executes the SetGroup action and sets the base_group to 1
   and the effective group to 1.
3. The compositor updates its own state and sends the effective group,
   1, to Xwayland.
4. Xwayland sets the locked group to 1 and the effective group to
   1 + 1 = 2.

This is wrong since pressing compose should set the effective group to 1
but to X applications the effective group appears to be 2.

This commit makes it so that Xwayland completely ignores the key
behaviors and actions of the keymap and only updates the modifier and
group components in response to the wayland modifiers events.

Signed-off-by: Julian Orth <ju.orth@gmail.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1758>
(cherry picked from commit 45c1d22ff6)
2026-01-25 10:39:58 -08:00
..
kdrive treewide: replace xnfcalloc() calls by XNFcallocarray() 2026-01-25 10:39:55 -08:00
vfb Xvfb: Support up to 13 mouse buttons 2024-01-08 11:16:11 +00:00
xfree86 xwayland: Don't run key behaviors and actions 2026-01-25 10:39:58 -08:00
xnest include: dixfontstr.h: drop silent dependency on libxfont2 2026-01-25 10:39:56 -08:00
xquartz xquartz: drop unused code 2026-01-25 10:39:57 -08:00
xwayland xwayland: Don't run key behaviors and actions 2026-01-25 10:39:58 -08:00
xwin xwin: fix memleak on freeing pixmaps 2026-01-25 10:39:57 -08:00
meson.build Drop DMX DDX 2021-09-07 09:34:31 +00:00