// $XConsortium: basic,v 1.3 94/04/08 15:54:51 erik Exp $
xkb_compatibility "basic" 

// Minimal set of symbol interpretations to provide reasonable
// default behavior (Num lock, shift and caps lock and mode switch).
// Shift does *not* cancel lock with this version

virtual_modifiers NumLock,AltGr;

interpret.repeat= False;
setMods.clearLocks= True;
latchMods.clearLocks= True;
latchMods.latchToLock= True;

interpret Shift_Lock+AnyOf(Shift+Lock) {
	action= LockMods(modifiers=Shift);
};

interpret Any+Lock {
	action= LockMods(modifiers=Lock);
};

interpret Num_Lock+Any {
	virtualModifier= NumLock;
	action= LockMods(modifiers=NumLock);
};

interpret Mode_switch {
	useModMapMods= level1;
	virtualModifier= AltGr;
	action= SetGroup(group=2);
};

interpret Any + Any {
	action= SetMods(modifiers=modMapMods);
};

modifier AltGr { groups= All-Group1; };
modifier NumLock { modifiers= Mod2; };

indicator.allowExplicit= False;
indicator "Caps Lock" { 
    modifiers= Lock;
};
indicator "Num Lock" {
    modifiers= NumLock;
};
indicator "Shift Lock" {
    whichModState= Locked;
    modifiers= Shift;
};
indicator.allowExplicit= True;
