xserver/hw/xfree86/common
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
..
.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 2024-07-28 23:26:37 +00:00
dgaproc.h xfree86: common: move non-exported funcs from dgaproc.h to separate header 2024-02-29 10:27:08 +00:00
dgaproc_priv.h xfree86: common: move non-exported funcs from dgaproc.h to separate header 2024-02-29 10:27:08 +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 xfre86: drop xf86Msg() in favor of LogMessageVerb() 2024-10-10 21:16:26 +00:00
xf86AutoConfig.c treewide: replace xnfstrdup() calls by XNFstrdup() 2024-07-26 23:41:34 +00:00
xf86Bus.c xfree86: common: xf86Bus: fix char signess mismatch 2024-10-10 13:56:05 +00:00
xf86Bus.h xfree86: Remove vestigial lastScrnFlag 2018-09-12 20:47:15 +00:00
xf86Config.c treewide: replace xnfstrdup() calls by XNFstrdup() 2024-07-26 23:41:34 +00:00
xf86Config.h xfree86: unexport xf86SetVerbosity() and xf86SetLogVerbosity() 2024-10-10 18:25:54 +00:00
xf86Configure.c xfree86: avoid memory leak on realloc failure 2024-10-28 05:38:25 +00:00
xf86Cursor.c include: move private definitions out of input.h 2024-09-01 17:59:23 +00:00
xf86DGA.c dix: unexport CreateColormap() 2024-09-01 22:06:49 +00:00
xf86DPMS.c dix: Lift DPMS to a screen hook 2017-03-27 15:59:42 -04:00
xf86Events.c include: move private definitions out of input.h 2024-09-01 17:59:23 +00: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
xf86Globals.c Revert "xfree86: Remove -flippixels" 2024-01-03 19:43:16 +00:00
xf86Helper.c xfre86: drop xf86Msg() in favor of LogMessageVerb() 2024-10-10 21:16:26 +00:00
xf86InPriv.h xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Init.c xfree86: unexport xf86SetVerbosity() and xf86SetLogVerbosity() 2024-10-10 18:25:54 +00:00
xf86MatchDrivers.h xfree86: Improved autoconfig drivers matching 2017-05-09 17:36:05 -07:00
xf86Mode.c treewide: replace xnfstrdup() calls by XNFstrdup() 2024-07-26 23:41:34 +00:00
xf86Module.h xwayland: Don't run key behaviors and actions 2025-02-03 05:37:48 +00: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 2024-10-10 13:56:05 +00:00
xf86Optionstr.h hw/xfree86: Lots of constant string support 2014-01-12 10:14:48 -08:00
xf86PM.c xfree86: Remove driver entity hooks and private 2017-03-30 11:32:02 -04:00
xf86PciInfo.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86Priv.h xfree86: unexport xf86SetVerbosity() and xf86SetLogVerbosity() 2024-10-10 18:25:54 +00:00
xf86Privstr.h Remove check for useSIGIO option 2020-12-08 11:23:31 -05:00
xf86RandR.c include: move private definitions out of input.h 2024-09-01 17:59:23 +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 2024-09-01 22:21:12 +00:00
xf86Xinput.h include: unexport XIstubs.h 2024-09-01 22:21:12 +00:00
xf86cmap.c xfree86: common: include math.h unconditionally 2024-06-18 00:41:38 +00:00
xf86cmap.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86fbBus.c xfree86: unexport os-support functions 2024-04-18 00:40:39 +00: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
xf86noBus.c xfree86: unexport os-support functions 2024-04-18 00:40:39 +00:00
xf86pciBus.c xfree86: common: xf86pciBus: fix char signess mismatch 2024-10-10 13:56:05 +00:00
xf86pciBus.h xfree86: Improved autoconfig drivers matching 2017-05-09 17:36:05 -07:00
xf86platformBus.c treewide: replace xnfreallocarray macro call by XNFreallocarray() 2024-07-26 23:41:33 +00:00
xf86platformBus.h xf86: allow DDX driver for GPU/PCI hot-plug 2022-11-16 15:47:46 +00:00
xf86sbusBus.c hw/xfree86: Fix -Wincompatible-pointer-types sbus compile failure 2024-12-16 22:41:47 -05: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
xf86xv.c xv: unexport XvFreeAdaptor() 2024-07-26 23:51:13 +00:00
xf86xv.h xfree86: Remove xv clip notify driver hook 2014-09-26 15:27:18 -04:00
xf86xvmc.c xv: unexport XvScreenRec and XvScreenPtr 2024-07-26 23:51:13 +00: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