Created attachment 125772 [details] [review] adjusting two layouts so they will work with a newer xkbcomp With xkbcomp from git, an "any" (NoSymbol) in the upper levels of a key definition is understood as "none" (VoidSymbol) when the layout specifies a keytype explicitly -- a keytype that has more levels than the layout actually defines. Avoid this by not specifying the keytype -- it doesn't make sense to say that the keys are of type FOUR_LEVEL and then define only two levels and leave the upper two levels blank (because they are to be inherited from an included file). See bug #97332. Attached patch fixes this.
Created attachment 125775 [details] [review] cleaning up some clutter
Created attachment 125776 [details] [review] being totally precise
Seems fine to me, if that's what corresponds to the new semantics. At least for me the patched layout appears to behave no different than the old one. One little thing about the NoSymbol identifiers, just for the record. Originally these were intended to remove any underlying symbol from previously included sections. This can be seen in *alternatequotes variants, where without AC02 and AC03 keys would end up having the same symbols on 3rd and 4th levels. However, testing now the non-patched layout, NoSymbol does not appear to do anything. Can't remember if they ever worked as intended, but in any case no harm removing them now. (And *alternatequotes should probably just switch 3rd and 4th levels, rather than try to remove anything.)
applied #2 and #3. Could you please clean #1 for the current git? Thank you for the patches!
Ah. The patch in bug #97332 shouldn't have been applied, I should have obsoleted it -- #1 was a better version of that patch. Never mind, updated patch coming up. (But in future, please don't apply any patches when something in a series doesn't apply cleanly. Makes my life easier.)
Created attachment 126509 [details] [review] removes an explicit key type for a German layout too
Thank you, pushed!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.