2014-05-05 12:05:33 -06:00
|
|
|
default xkb_compatibility "xtest" {
|
2009-06-06 11:52:23 -06:00
|
|
|
|
|
|
|
// Minimal set of symbol interpretations to provide
|
2014-05-05 12:05:33 -06:00
|
|
|
// reasonable behavior for testing.
|
|
|
|
// The X Test Suite assumes that it can set any modifier
|
|
|
|
// by simulating a KeyPress and clear it by simulating a
|
|
|
|
// KeyRelease. Because of the way that XKB implements
|
|
|
|
// locking/latching modifiers, this approach fails in
|
|
|
|
// some cases (typically the Lock or NumLock modifiers).
|
|
|
|
// These symbol interpretations make all modifier keys
|
|
|
|
// just set the corresponding modifier so that xtest
|
2009-06-06 11:52:23 -06:00
|
|
|
// will see the behavior it expects.
|
|
|
|
|
2014-05-05 12:05:33 -06:00
|
|
|
virtual_modifiers NumLock,AltGr;
|
2009-06-06 11:52:23 -06:00
|
|
|
|
|
|
|
interpret.repeat= False;
|
|
|
|
setMods.clearLocks= True;
|
|
|
|
latchMods.clearLocks= True;
|
|
|
|
latchMods.latchToLock= False;
|
|
|
|
|
|
|
|
interpret Shift_Lock+AnyOf(Shift+Lock) {
|
|
|
|
action= SetMods(modifiers=Shift);
|
|
|
|
};
|
|
|
|
|
|
|
|
interpret Num_Lock+Any {
|
|
|
|
virtualModifier= NumLock;
|
|
|
|
action= SetMods(modifiers=NumLock);
|
|
|
|
};
|
|
|
|
|
|
|
|
interpret Mode_switch {
|
|
|
|
useModMapMods= level1;
|
|
|
|
virtualModifier= AltGr;
|
|
|
|
action= SetGroup(group=2);
|
|
|
|
};
|
|
|
|
|
|
|
|
interpret Any + Any {
|
|
|
|
action= SetMods(modifiers=modMapMods);
|
|
|
|
};
|
|
|
|
|
|
|
|
group 2 = AltGr;
|
|
|
|
group 3 = AltGr;
|
|
|
|
group 4 = AltGr;
|
|
|
|
|
|
|
|
indicator.allowExplicit= False;
|
2014-05-05 12:05:33 -06:00
|
|
|
indicator "Caps Lock" {
|
2009-06-06 11:52:23 -06:00
|
|
|
modifiers= Lock;
|
|
|
|
};
|
|
|
|
indicator "Num Lock" {
|
|
|
|
modifiers= NumLock;
|
|
|
|
};
|
|
|
|
indicator "Shift Lock" {
|
|
|
|
whichModState= Locked;
|
|
|
|
modifiers= Shift;
|
|
|
|
};
|
|
|
|
indicator.allowExplicit= True;
|
|
|
|
};
|