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; }; };