58 lines
1.4 KiB
Plaintext
58 lines
1.4 KiB
Plaintext
|
default xkb_compatibility "xtest" {
|
||
|
|
||
|
// Minimal set of symbol interpretations to provide
|
||
|
// 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 num lock modifiers). These symbol
|
||
|
// interpretations make all modifier keys just
|
||
|
// set the corresponding modifier so that xtest
|
||
|
// will see the behavior it expects.
|
||
|
|
||
|
virtual_modifiers NumLock,AltGr;
|
||
|
|
||
|
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;
|
||
|
indicator "Caps Lock" {
|
||
|
modifiers= Lock;
|
||
|
};
|
||
|
indicator "Num Lock" {
|
||
|
modifiers= NumLock;
|
||
|
};
|
||
|
indicator "Shift Lock" {
|
||
|
whichModState= Locked;
|
||
|
modifiers= Shift;
|
||
|
};
|
||
|
indicator.allowExplicit= True;
|
||
|
};
|