1// Fairly complete set of symbol interpretations
2// to provide reasonable default behavior.
3
4default partial xkb_compatibility "default" {
5
6    virtual_modifiers  LevelFive;
7
8    interpret.repeat= False;
9    setMods.clearLocks= True;
10    latchMods.clearLocks= True;
11    latchMods.latchToLock= True;
12
13    interpret ISO_Level5_Shift+Any {
14	useModMapMods= level1;
15	virtualModifier= LevelFive;
16	action= SetMods(modifiers=LevelFive);
17    };
18
19    interpret ISO_Level5_Shift {
20	action= SetMods(modifiers=LevelFive);
21    };
22
23    interpret ISO_Level5_Latch+Any {
24	useModMapMods= level1;
25	virtualModifier= LevelFive;
26	action= LatchMods(modifiers=LevelFive);
27    };
28
29    interpret ISO_Level5_Latch {
30	action= LatchMods(modifiers=LevelFive);
31    };
32
33    interpret ISO_Level5_Lock+Any {
34	useModMapMods= level1;
35	virtualModifier= LevelFive;
36	action= LockMods(modifiers=LevelFive);
37    };
38
39    interpret ISO_Level5_Lock {
40	action= LockMods(modifiers=LevelFive);
41    };
42};
43
44partial xkb_compatibility "level5_lock" {
45    // This defines a Level5-Lock using the NumLock virtual modifier.
46    // See also types/level5 (EIGHT_LEVEL_LEVEL_FIVE_LOCK) and symbols/level5(lock).
47
48    virtual_modifiers  NumLock;
49
50    interpret ISO_Level5_Lock {
51	action = LockMods(modifiers = NumLock);
52    };
53};
54