// $XConsortium: basic /main/5 1995/12/07 21:32:21 kaleb $
// Minimal set of symbol interpretations to provide
// reasonable default behavior (Num lock, shift and
// caps lock and mode switch) and set up the
// automatic updating of common keyboard LEDs.
default xkb_compatibility "basic" {
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 {
// Uncommenting this line and commenting out the line above gets the
// NumLock LED working properly, but breaks the ScrollLock LED (it no
// longer goes on when ScrollLock is active). That wouldn't be so bad,
// but it also causes BackSpace to map to Delete, which makes editing
// with vi a pain (backspace doesn't work like it should anymore, you
// have to use Ctrl-h...)
//
//JWE interpret Scroll_Lock+AnyOf(Shift_L+Shift_R) {
virtualModifier= NumLock;
action= LockMods(modifiers=NumLock);
};
interpret Mode_switch {
useModMapMods= level1;
virtualModifier= AltGr;
action= SetGroup(group=2,clearLocks);
};
interpret Any + Any {
action= SetMods(modifiers=modMapMods);
};
group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;
indicator.allowExplicit= False;
indicator "Caps Lock" {
whichModState= Locked;
modifiers= Lock;
};
// Commenting out this section fixes the "both NumLock and ScrollLock LEDs
// come on when ScrollLock is active" problem. Now the NumLock LED never
// comes on...
//JWE indicator "Num Lock" {
//JWE whichModState= Locked;
//JWE modifiers= NumLock;
//JWE };
indicator "Shift Lock" {
whichModState= Locked;
modifiers= Shift;
};
indicator.allowExplicit= True;
};