Keyboard configuration programs use /usr/share/X11/xkb/rules/*.xml file in order to find the possible models, layouts, variants. Unfortunately some Macintosh-related combination are not supported. For example the following logical choice is not supported: keyboard model 'macintosh' ("Macintosh"), layout 'de' ("Germany") and variant 'mac_nodeadkeys' ("Germany - Macintosh, eliminate dead keys").
The reason for this is that when the user selects model 'macintosh' and layout 'de' the file /usr/share/X11/xkb/symbols/macintosh_vndr/de is used instead of /usr/share/X11/xkb/symbols/de and there is no mac_nodeadkeys there. As a result the keyboard is leaved in a bad state.
I suppose that one possible fix for this problem would be to ignore the files in macintosh_vndr. The standard files in /usr/share/X11/xkb/symbols describe all Mac-layouts so there is no need to use the files in macintosh_vndr.
Actually it is not about .xml file - which, as you correctly noted, does not allow things like "combination of model M and layout/variant LV is forbidden". The problem is in the rules, which are using macintoch_vndr subdirectory (look, for example, at usage of $macvendorlayouts in rules/base.ml_s.part)
The thing is that some layouts are really mac-specific
> The standard files in /usr/share/X11/xkb/symbols describe all Mac-layouts
What makes you think so? As far as I know that's not the case.
Anyway, I realize that the problem exists. I just do not know any real solution that would make happy everybody and would be manageable. Please suggest
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/44.