option grp:alt_caps_toggle does not override include "level3(caps_switch)"
To see what I mean, do:
setxkbmap de,fr neo, -option -option grp:alt_caps_toggle -print | \
xkbcomp - -xkb - 2>/dev/null | grep -A3 "key <CAPS>"
The output is this:
key <CAPS> {
type= "ONE_LEVEL",
symbols[Group1]= [ Caps_Lock ]
};
But the option grp:alt_caps_toggle
sets type "PC_ALT_LEVEL2" and puts ISO_Next_Group
on the second level. Where did they go?
The problem is that the include "level3(caps_switch)"
that is part of the Neo layout does an explicit type[Group1]="ONE_LEVEL"
, and in order to override such an explicit type assignment another explicit type assignment is needed -- type="PC_ALT_LEVEL2"
doesn't cut it, it has to be type[Group1]="PC_ALT_LEVEL2"
.
(This is arguably a bug in xkbcomp
, because it doesn't print the "[Group1]" in its output, then it shouldn't require the "[Group1]" in its input either.)