xserver/hw/xfree86/common
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
..
.gitignore Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
compiler.h compiler.h: drop translation of Sun compiler platform defines to gcc 2026-01-25 10:39:55 -08:00
dgaproc.h dga: Make shutdown less magical and/or terrifying 2018-09-12 19:18:05 +00:00
extramodes xfree86: add default modes for 16:9 and 16:10 2018-01-18 14:16:35 -05:00
meson.build hw/xfree86: fix sbus build for SPARC 2021-12-14 16:00:39 +00:00
modeline2c.awk Use ARRAY_SIZE all over the tree 2017-10-30 13:45:20 -04:00
vesamodes Fix standard VESA modes. 2006-11-03 14:06:32 -08:00
xaarop.h xfree86: Drop some dead XAA decls from SDK headers 2012-07-25 14:03:31 -07:00
xf86.h Revert "xfree86: Remove -flippixels" 2024-01-03 19:43:16 +00:00
xf86AutoConfig.c treewide: replace xnfstrdup() calls by XNFstrdup() 2026-01-25 10:39:55 -08:00
xf86Bus.c xfree86: common: xf86Bus: fix char signess mismatch 2026-01-25 10:39:57 -08:00
xf86Bus.h xfree86: Remove vestigial lastScrnFlag 2018-09-12 20:47:15 +00:00
xf86cmap.c xfree86: common: include math.h unconditionally 2026-01-25 10:39:53 -08:00
xf86cmap.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86Config.c dix: unexport Ones() 2026-01-25 10:39:57 -08:00
xf86Config.h loader: Turn LoaderListDirs into LoaderListDir 2017-01-25 14:22:06 -05:00
xf86Configure.c xfree86: avoid memory leak on realloc failure 2026-01-25 10:39:57 -08:00
xf86Cursor.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xf86DGA.c rename remaining RT_* defines to X11_RESTYPE_* 2026-01-19 12:48:30 -08:00
xf86DPMS.c dix: Lift DPMS to a screen hook 2017-03-27 15:59:42 -04:00
xf86Events.c Move sizeof to second argument in calloc calls 2026-01-25 10:39:55 -08:00
xf86Extensions.c vidmode: move to a separate library of its own 2016-02-29 16:29:01 -05:00
xf86Extensions.h xf86: Re-export extension disable flags 2012-07-16 18:24:49 -07:00
xf86fbBus.c xfree86: use udev to provide device enumeration for kms devices (v10) 2012-07-06 10:20:19 +01:00
xf86fbman.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xf86fbman.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86Globals.c Revert "xfree86: Remove -flippixels" 2024-01-03 19:43:16 +00:00
xf86Helper.c treewide: replace xnfcalloc() calls by XNFcallocarray() 2026-01-25 10:39:55 -08:00
xf86Init.c Remove remnants of support for SysV versions before SVR4 2026-01-25 10:39:56 -08:00
xf86InPriv.h xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86MatchDrivers.h xfree86: Improved autoconfig drivers matching 2017-05-09 17:36:05 -07:00
xf86Mode.c treewide: replace xnfstrdup() calls by XNFstrdup() 2026-01-25 10:39:55 -08:00
xf86Module.h xwayland: Don't run key behaviors and actions 2026-01-25 10:39:58 -08:00
xf86noBus.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86Opt.h hw: Rename boolean config value field from bool to boolean 2019-07-22 20:28:27 -04:00
xf86Option.c xfree86: common: xf86Option: fix char signess mismatch 2026-01-25 10:39:57 -08:00
xf86Optionstr.h hw/xfree86: Lots of constant string support 2014-01-12 10:14:48 -08:00
xf86pciBus.c xfree86: common: xf86pciBus: fix char signess mismatch 2026-01-25 10:39:57 -08:00
xf86pciBus.h xfree86: Improved autoconfig drivers matching 2017-05-09 17:36:05 -07:00
xf86PciInfo.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86platformBus.c treewide: replace xnfreallocarray macro call by XNFreallocarray() 2026-01-25 10:39:55 -08:00
xf86platformBus.h xf86: allow DDX driver for GPU/PCI hot-plug 2022-11-16 15:47:46 +00:00
xf86PM.c xfree86: Remove driver entity hooks and private 2017-03-30 11:32:02 -04:00
xf86Priv.h xfree86: drop unneeded wrapper xf86PrivsElevated() 2026-01-19 12:32:19 -08:00
xf86Privstr.h Remove check for useSIGIO option 2020-12-08 11:23:31 -05:00
xf86RandR.c xfree86: Remove pointless xf86RandRCreateScreenResources 2014-07-29 09:53:01 -04:00
xf86sbusBus.c hw/xfree86: Fix -Wincompatible-pointer-types sbus compile failure 2026-01-25 10:39:58 -08:00
xf86sbusBus.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86str.h Extend Linux #ifdef to FreeBSD OS. 2023-10-22 16:08:21 +00:00
xf86VGAarbiter.c mi: Add a default no-op miSourceValidate 2019-10-30 16:26:01 +00:00
xf86VGAarbiter.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86VGAarbiterPriv.h xfree86: Hold input_lock across SPRITE functions in VGA arbiter 2017-12-13 12:06:31 -05:00
xf86VidMode.c vidmode: remove redundant DIX function 2016-02-29 16:29:14 -05:00
xf86Xinput.c include: unexport XIstubs.h 2026-01-25 10:39:56 -08:00
xf86Xinput.h include: unexport XIstubs.h 2026-01-25 10:39:56 -08:00
xf86xv.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xf86xv.h xfree86: Remove xv clip notify driver hook 2014-09-26 15:27:18 -04:00
xf86xvmc.c xf86XvMCScreenInit: Clear pScreenPriv->dixinfo when freeing pAdapt 2018-01-24 11:21:08 -05:00
xf86xvmc.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86xvpriv.h xfree86: Remove xv clip notify driver hook 2014-09-26 15:27:18 -04:00
xisb.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xisb.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorgHelper.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorgVersion.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00