Branch :
xkb_compat {
virtual_modifiers M1=0x1000, M2=0x2000, M3=0x4000, M4=0x8000;
interpret.repeat= False;
// Effective: override
interpret.repeat= True;
interpret.virtualmod = M1;
// Effective: override
interpret.virtualmod = M2;
// Ineffective: cannot augment previous value
augment interpret.virtualmod = M3;
SetGroup.group = 1;
// Effective: override
SetGroup.group = 2;
// Ineffective: cannot augment previous value
augment SetGroup.group = 3;
// Effective: *override* every explicit field
interpret a {
virtualmod = M4;
action=SetGroup(group=1);
};
interpret A {
repeat = False;
virtualmod = M1;
action=SetMods(mods=M1);
};
// Effective: no previous interpret entry,
// so *override* every explicit field
augment interpret s {
repeat = False;
action=SetGroup();
};
// Only augment fields not set previously (explicit or implicit)
augment interpret s {
// Ineffective: cannot augment previous implicit value
virtualmod = M4;
// Ineffective: cannot augment previous explicit value
action=SetGroup(group=4);
// Effective: no previous value
useModMapMods=level1;
};
augment interpret S {
action=SetGroup(group=4);
};
indicator.modifiers = M1;
indicator.modifiers = M2;
augment indicator.modifiers = M3;
indicator.groups = All - 1;
indicator.controls = AudibleBell;
indicator "A" {
modifiers = M4;
whichmodstate = base;
};
indicator "A" {
whichmodstate = locked;
whichgroupstate = locked;
controls = SlowKeys;
};
augment indicator "B" {
modifiers = M4;
whichmodstate = base;
};
augment indicator "B" {
groups = 4;
whichmodstate = locked;
whichgroupstate = locked;
};
};