-
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
Add support for :all in rules #334
Conversation
Thanks for notifying me Wismill! |
Could we actually make it easier as part of this PR? |
You mean patching the rule file in |
OK, do you consider to make a patch for X11 xkbcomp also? |
f062f1b
to
bbbb09a
Compare
bbbb09a
to
fef19d0
Compare
@wismill I'd like to review this PR (it'd be really great to fix this!), it might take me a bit of time to get to it though, wanted to give you a heads up. |
No rush, currently the tests are failing. I am content waiting for your review: I would like to get the design right, as it would be wonderful to port it to X11’s |
Closing. I am working on another approach, where the processing happens only in the rules. This should facilitate a possible adaptation to libxkbfile. |
This PR adds support for the
:all
modifier in rules & include statements.For example, the
xkeyboard-config
issue “rules: add custom per-group mapping for level3(ralt_alt)” could be solved easier with this feature:xkbcomp
would require a patch too, though (see the corresponding xkbcomp issue).This feature works by detecting the number of layouts in the RMLVO configuration. Example: it will replace the include statement
xx:all
byxx:1+xx:2+xx:3
if there are 3 layouts and the merge mode is “override”.Caveat: it only works when a keymap is created from RMLVO configuration; i.e. it will not work when creating a keymap e.g. from a string. But I guess this case is not so important, because as I understand querying the keymap to the windows system will return a complete & resolved keymap without include statements.
Note: this could the first step to remove the limit of layout number (see #37 and #311, @bam80).