Skip to content

Symbols/fix key merge mode symbols x11 #591

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

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

wismill
Copy link
Member

@wismill wismill commented Jan 13, 2025

Follow-up of #568 with test for X11 xkbcomp.

Require rebasing

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

The tests data are generated with:
- A Python script `scripts/update-symbols-tests.py` for keycodes and
  symbols data. It can optionally generate C headers for alternative
  key sequence tests, that were used before implementing golden tests.
- The `merge-modes` test generates its own keymap files for golden
  test, using: `build/test-merge-modes update`.
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 there
are 2 keymaps sets for the golden sets: X11 and xkbcommon.
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
@wismill wismill added testing Indicates a need for improvements or additions to testing compile-keymap Indicates a need for improvements or additions to keymap compilation labels Jan 13, 2025
@wismill wismill added this to the 1.9.0 milestone Jan 22, 2025
@wismill wismill modified the milestones: 1.9.0, 1.10.0 Apr 15, 2025
@wismill wismill modified the milestones: 1.10.0, 1.11.0 May 9, 2025
@wismill wismill modified the milestones: 1.11.0, 1.12.0 Jun 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compile-keymap Indicates a need for improvements or additions to keymap compilation testing Indicates a need for improvements or additions to testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant