-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xkbcomp: Fix key merge mode (keysyms, actions) #568
base: master
Are you sure you want to change the base?
xkbcomp: Fix key merge mode (keysyms, actions) #568
Conversation
b946df1
to
da3ee82
Compare
Windows Compiler Error C2026. Wonderful. Fixed by using |
Note to self: in order to check other key properties, we should probably just compare resulting keymap strings with a ref. Also let's add the same tests for |
c5549d4
to
7ff4c3d
Compare
May be related: #573 |
c78c27c
to
84d1cdc
Compare
Trying to fix the failing macOS pipeline. I suspect an out-of-bound in xkbcomp (see this MR) to be the origin of:
The The Linux pipeline is fragile too: it works without Valgrind, so I suspect race conditions with the various threads. |
e7c94f6
to
3097e91
Compare
6ec280e
to
6d70fda
Compare
This commit adds tests for merging various key configurations: - With/without keysyms/actions - Single/multiple keysyms/actions per level We test all the merge modes for including a map: - default (include) - augment - override - replace We also test against xkbcomp so we can compare its handling of merge modes with xkbcommon. Unfortunately, there are currently some differences due to xkbcomp discarding trailing `NoSymbol`. Thus the tests are split into: common, X11-only and xkbcommon-only.
When getting the keymap from X11, the following: ``` key <AD01> { actions=[SetGroup(2)] }; ``` is currently converted to: ``` key <AD01> { }; ``` This commit fixes dropping a defined action when the keysym is undefined
It seems that the X11 tests trigger an out-of-bounds bug in xkbcomp. See: https://gitlab.freedesktop.org/xorg/app/xkbcomp/-/merge_requests/26
6d70fda
to
5107d69
Compare
I finally managed to install the patched xkbcomp on the macOS CI. Linux CI seems robust now. |
@mahkoh With this MR we will have a first round of tests for the common uses of merge modes multiple fixes. TODO:
|
This also adds exhaustive tests for merge modes.
Fixes #564
TODO
TODO in follow-up MRs:
@mahkoh