misc revision 797b363d
1797b363dSmrgdefault partial xkb_compatibility "misc" {
2154daed1Smrg
3797b363dSmrg    virtual_modifiers  Alt,Meta,Super,Hyper,ScrollLock;
4154daed1Smrg
5797b363dSmrg    // Interpretations for some other useful keys.
6154daed1Smrg
7154daed1Smrg    interpret Terminate_Server {
8797b363dSmrg	action = Terminate();
9154daed1Smrg    };
10154daed1Smrg
11154daed1Smrg    setMods.clearLocks= True;
12154daed1Smrg
13797b363dSmrg    // Sets the "Alt" virtual modifier.
14154daed1Smrg
15797b363dSmrg    interpret Alt_L+Any {
16154daed1Smrg        //useModMapMods= level1;
17154daed1Smrg	virtualModifier= Alt;
18154daed1Smrg	action = SetMods(modifiers=modMapMods);
19154daed1Smrg    };
20154daed1Smrg
21797b363dSmrg    interpret Alt_L {
22154daed1Smrg	action = SetMods(modifiers=Alt);
23154daed1Smrg    };
24154daed1Smrg
25797b363dSmrg    interpret Alt_R+Any {
26154daed1Smrg        //useModMapMods= level1;
27154daed1Smrg	virtualModifier= Alt;
28154daed1Smrg	action = SetMods(modifiers=modMapMods);
29154daed1Smrg    };
30154daed1Smrg
31797b363dSmrg    interpret Alt_R {
32154daed1Smrg	action = SetMods(modifiers=Alt);
33154daed1Smrg    };
34154daed1Smrg
35797b363dSmrg    // Sets the "Meta" virtual modifier.
36154daed1Smrg
37797b363dSmrg    interpret Meta_L+Any {
38797b363dSmrg        //useModMapMods= level1;
39154daed1Smrg	virtualModifier= Meta;
40154daed1Smrg	action = SetMods(modifiers=modMapMods);
41154daed1Smrg    };
42154daed1Smrg
43797b363dSmrg    interpret Meta_L {
44154daed1Smrg	action = SetMods(modifiers=Meta);
45154daed1Smrg    };
46154daed1Smrg
47797b363dSmrg    interpret Meta_R+Any {
48154daed1Smrg        //useModMapMods= level1;
49154daed1Smrg	virtualModifier= Meta;
50154daed1Smrg	action = SetMods(modifiers=modMapMods);
51154daed1Smrg    };
52154daed1Smrg
53797b363dSmrg    interpret Meta_R {
54154daed1Smrg	action = SetMods(modifiers=Meta);
55154daed1Smrg    };
56154daed1Smrg
57797b363dSmrg    // Sets the "Super" virtual modifier.
58154daed1Smrg
59797b363dSmrg    interpret Super_L+Any {
60797b363dSmrg        //useModMapMods= level1;
61154daed1Smrg	virtualModifier= Super;
62154daed1Smrg	action = SetMods(modifiers=modMapMods);
63154daed1Smrg    };
64154daed1Smrg
65797b363dSmrg    interpret Super_L {
66154daed1Smrg	action = SetMods(modifiers=Super);
67154daed1Smrg    };
68154daed1Smrg
69797b363dSmrg    interpret Super_R+Any {
70154daed1Smrg        //useModMapMods= level1;
71154daed1Smrg	virtualModifier= Super;
72154daed1Smrg	action = SetMods(modifiers=modMapMods);
73154daed1Smrg    };
74154daed1Smrg
75797b363dSmrg    interpret Super_R {
76154daed1Smrg	action = SetMods(modifiers=Super);
77154daed1Smrg    };
78154daed1Smrg
79797b363dSmrg    // Sets the "Hyper" virtual modifier.
80154daed1Smrg
81797b363dSmrg    interpret Hyper_L+Any {
82797b363dSmrg        //useModMapMods= level1;
83154daed1Smrg	virtualModifier= Hyper;
84154daed1Smrg	action = SetMods(modifiers=modMapMods);
85154daed1Smrg    };
86154daed1Smrg
87797b363dSmrg    interpret Hyper_L {
88154daed1Smrg	action = SetMods(modifiers=Hyper);
89154daed1Smrg    };
90154daed1Smrg
91797b363dSmrg    interpret Hyper_R+Any {
92154daed1Smrg        //useModMapMods= level1;
93154daed1Smrg	virtualModifier= Hyper;
94154daed1Smrg	action = SetMods(modifiers=modMapMods);
95154daed1Smrg    };
96154daed1Smrg
97797b363dSmrg    interpret Hyper_R {
98154daed1Smrg	action = SetMods(modifiers=Hyper);
99154daed1Smrg    };
100154daed1Smrg
101154daed1Smrg    // Sets the "ScrollLock" virtual modifier and
102154daed1Smrg    // makes it actually lock when pressed.  Sets
103154daed1Smrg    // up a map for the scroll lock indicator.
104797b363dSmrg    interpret Scroll_Lock+Any {
105154daed1Smrg	virtualModifier= ScrollLock;
106154daed1Smrg	action = LockMods(modifiers=modMapMods);
107154daed1Smrg    };
108154daed1Smrg
109154daed1Smrg    include "ledscroll"
110797b363dSmrg
111da6c6c0bSmrg    include "misc(assign_shift_left_action)"
112154daed1Smrg};
113c067fea9Sghen
114797b363dSmrgpartial xkb_compatibility "assign_shift_left_action" {
115797b363dSmrg    // Because of the irrevertable modifier mapping in symbols/pc,
116797b363dSmrg    // <LFSH> is getting bound to the Lock modifier when using
117797b363dSmrg    // symbols/shift(both_capslock), creating unwanted behaviour.
118c067fea9Sghen    // This is a quirk, to circumvent the problem.
119c067fea9Sghen    interpret Shift_L {
120797b363dSmrg	action = SetMods(modifiers = Shift);
121c067fea9Sghen    };
122c067fea9Sghen};
123