xserver/hw/xfree86
Julian Orth 45c1d22ff6 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>
2025-02-03 05:37:48 +00:00
..
common xwayland: Don't run key behaviors and actions 2025-02-03 05:37:48 +00:00
ddc treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
dixmods Remove autotools support 2021-10-27 13:15:40 +03:00
doc treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
dri xfree86: dri: unexport DRIDestroyWindow() and make it static 2024-10-10 20:42:23 +00:00
dri2 dix: unexport some lookup functions 2024-04-15 18:11:57 -07:00
drivers modesetting: avoid memory leak when ms_present_check_unflip() returns FALSE 2024-10-28 05:38:25 +00:00
exa treewide: replace xnfalloc() calls to XNFalloc() 2024-07-26 23:41:33 +00:00
fbdevhw xfree86: fbdevhw: fix pci detection on recent Linux 2024-10-10 21:32:46 +00:00
glamor_egl drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
i2c treewide: replace xnfreallocarray macro call by XNFreallocarray() 2024-07-26 23:41:33 +00:00
int10 treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
loader os: replace LogWrite() by LogMessageVerb() 2024-10-10 17:34:12 +00:00
man xorg.conf.man: Add missing new paragraph mark before AllowByteSwappedClients 2024-03-23 14:30:43 -07:00
modes include: move private definitions out of input.h 2024-09-01 17:59:23 +00:00
os-support Revert "xfree86: os-support: move CONSOLE_X_BELL into bsd_bell.c" 2024-11-13 16:47:52 -08:00
parser xfree86: parser: scan: fix char signess mismatch 2024-10-10 13:56:05 +00:00
ramdac dix: unexport cursor refcounting functions 2024-09-02 16:43:29 +00:00
shadowfb Remove autotools support 2021-10-27 13:15:40 +03:00
utils Remove autotools support 2021-10-27 13:15:40 +03:00
vgahw treewide: replace xnfcalloc() calls by XNFcallocarray() 2024-07-26 23:41:33 +00:00
x86emu xfree86: x86emu: rename segment register fields 2024-06-18 00:41:38 +00:00
xkb dix: unexport non-public functions from dixgrabs.h and document prototypes 2024-10-10 13:50:57 +00:00
.gitignore Xorg: Add Xorg.wrap to hw/xfree86/.gitignore 2014-04-18 11:39:16 +02:00
Xorg.sh.in xfree86: rename Xorg.bin to Xorg 2015-01-05 09:53:58 +10:00
meson.build meson: Support building Xnest and Xorg on darwin 2022-06-26 09:16:42 +00:00
sdksyms.sh dix: unexport non-public functions from dixgrabs.h and document prototypes 2024-10-10 13:50:57 +00:00
xorg-wrapper.c Fix various spelling errors 2019-10-01 17:05:28 +00:00
xorgconf.cpp Fix spelling/wording issues 2020-07-05 13:07:33 -07:00