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
xaarop.h
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
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
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
xf86PM.c xfree86: Remove driver entity hooks and private 2017-03-30 11:32:02 -04:00
xf86PciInfo.h
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
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
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
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
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
xf86xvmc.c xv: unexport XvScreenRec and XvScreenPtr 2024-07-26 23:51:13 +00:00
xf86xvmc.h
xf86xvpriv.h
xisb.c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xisb.h
xorgHelper.c
xorgVersion.h