1 default xkb_compatibility "xtest" {
3 // Minimal set of symbol interpretations to provide
4 // reasonable behavior for testing. The X Test
5 // Suite assumes that it can set any modifier by
6 // simulating a KeyPress and clear it by simulating
7 // a KeyRelease. Because of the way that XKB
8 // implements locking/latching modifiers, this
9 // approach fails in some cases (typically the
10 // lock or num lock modifiers). These symbol
11 // interpretations make all modifier keys just
12 // set the corresponding modifier so that xtest
13 // will see the behavior it expects.
15 virtual_modifiers NumLock,AltGr;
17 interpret.repeat= False;
18 setMods.clearLocks= True;
19 latchMods.clearLocks= True;
20 latchMods.latchToLock= False;
22 interpret Shift_Lock+AnyOf(Shift+Lock) {
23 action= SetMods(modifiers=Shift);
26 interpret Num_Lock+Any {
27 virtualModifier= NumLock;
28 action= SetMods(modifiers=NumLock);
31 interpret Mode_switch {
32 useModMapMods= level1;
33 virtualModifier= AltGr;
34 action= SetGroup(group=2);
38 action= SetMods(modifiers=modMapMods);
45 indicator.allowExplicit= False;
46 indicator "Caps Lock" {
49 indicator "Num Lock" {
52 indicator "Shift Lock" {
53 whichModState= Locked;
56 indicator.allowExplicit= True;