• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1default xkb_compatibility "xtest" {
2
3    // Minimal set of symbol interpretations to provide
4    // reasonable behavior for testing.
5    // The X Test Suite assumes that it can set any modifier
6    // by simulating a KeyPress and clear it by simulating a
7    // KeyRelease.  Because of the way that XKB implements
8    // locking/latching modifiers, this approach fails in
9    // some cases (typically the Lock or NumLock modifiers).
10    // These symbol interpretations make all modifier keys
11    // just set the corresponding modifier so that xtest
12    // will see the behavior it expects.
13
14    virtual_modifiers  NumLock,AltGr;
15
16    interpret.repeat= False;
17    setMods.clearLocks= True;
18    latchMods.clearLocks= True;
19    latchMods.latchToLock= False;
20
21    interpret Shift_Lock+AnyOf(Shift+Lock) {
22	action= SetMods(modifiers=Shift);
23    };
24
25    interpret Num_Lock+Any {
26	virtualModifier= NumLock;
27	action= SetMods(modifiers=NumLock);
28    };
29
30    interpret Mode_switch {
31	useModMapMods= level1;
32	virtualModifier= AltGr;
33	action= SetGroup(group=2);
34    };
35
36    interpret Any + Any {
37	action= SetMods(modifiers=modMapMods);
38    };
39
40    group 2 = AltGr;
41    group 3 = AltGr;
42    group 4 = AltGr;
43
44    indicator.allowExplicit= False;
45    indicator "Caps Lock" {
46	modifiers= Lock;
47    };
48    indicator "Num Lock" {
49	modifiers= NumLock;
50    };
51    indicator "Shift Lock" {
52	whichModState= Locked;
53	modifiers= Shift;
54    };
55    indicator.allowExplicit= True;
56};
57