I totally understand your irritation. But that is the way things worked for years (before xorg split from xfree86 and I started maintaining xk-c). I guess you understand that changing that behavior for very popular switchers would irritate a lot of users that used to the existing behavior.
Regarding not switching from UA to US - it is quite trivial. In the Ukrainian layout (group 3), RAlt is used for access to level 3. So at that point it is not a part of the group switcher any more.
I totally understand your irritation. But that is the way things worked for years (before xorg split from xfree86 and I started maintaining xk-c). I guess you understand that changing that behavior for very popular switchers would irritate a lot of users that used to the existing behavior.
Regarding not switching from UA to US - it is quite trivial. In the Ukrainian layout (group 3), RAlt is used for access to level 3. So at that point it is not a part of the group switcher any more.
key <RALT> {
type[group1] = "TWO_LEVEL",
type[group2] = "TWO_LEVEL",
type[group3] = "ONE_LEVEL",
symbols[ Group1] = [ Alt_R, ISO_Next_Group ],
symbols[ Group2] = [ Alt_R, ISO_Next_Group ],
symbols[ Group3] = [ ISO_Level3_Shift ]
};