xtest revision bfd7cbc1
1default xkb_compatibility "xtest"  {
2
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.
14
15    virtual_modifiers NumLock,AltGr;
16
17    interpret.repeat= False;
18    setMods.clearLocks= True;
19    latchMods.clearLocks= True;
20    latchMods.latchToLock= False;
21
22    interpret Shift_Lock+AnyOf(Shift+Lock) {
23	action= SetMods(modifiers=Shift);
24    };
25
26    interpret Num_Lock+Any {
27	virtualModifier= NumLock;
28	action= SetMods(modifiers=NumLock);
29    };
30
31    interpret Mode_switch {
32	useModMapMods= level1;
33	virtualModifier= AltGr;
34	action= SetGroup(group=2);
35    };
36
37    interpret Any + Any {
38	action= SetMods(modifiers=modMapMods);
39    };
40
41    group 2 = AltGr;
42    group 3 = AltGr;
43    group 4 = AltGr;
44
45    indicator.allowExplicit= False;
46    indicator "Caps Lock" { 
47	modifiers= Lock;
48    };
49    indicator "Num Lock" {
50	modifiers= NumLock;
51    };
52    indicator "Shift Lock" {
53	whichModState= Locked;
54	modifiers= Shift;
55    };
56    indicator.allowExplicit= True;
57};
58