summaryrefslogtreecommitdiffstats
path: root/linux/X/compat/misc
blob: cfe9a39b45bd7f47497160c01782d2d5cf620e99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
default partial xkb_compatibility "misc"  {

    virtual_modifiers	Alt,Meta,Super,Hyper,ScrollLock;

    // Interpretations for some other useful keys

    interpret Terminate_Server {
        action = Terminate();
    };

    setMods.clearLocks= True;

    // Sets the "Alt" virtual modifier

    interpret Alt_L+Any     {
        //useModMapMods= level1;
	virtualModifier= Alt;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Alt_L	{
	action = SetMods(modifiers=Alt);
    };

    interpret Alt_R+Any     {
        //useModMapMods= level1;
	virtualModifier= Alt;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Alt_R	{
	action = SetMods(modifiers=Alt);
    };

    // Sets the "Meta" virtual modifier

    interpret Meta_L+Any     {
//        useModMapMods= level1;
	virtualModifier= Meta;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Meta_L	{
	action = SetMods(modifiers=Meta);
    };

    interpret Meta_R+Any     {
        //useModMapMods= level1;
	virtualModifier= Meta;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Meta_R	{
	action = SetMods(modifiers=Meta);
    };

    // Sets the "Super" virtual modifier

    interpret Super_L+Any     {
//        useModMapMods= level1;
	virtualModifier= Super;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Super_L	{
	action = SetMods(modifiers=Super);
    };

    interpret Super_R+Any     {
        //useModMapMods= level1;
	virtualModifier= Super;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Super_R	{
	action = SetMods(modifiers=Super);
    };

    // Sets the "Hyper" virtual modifier

    interpret Hyper_L+Any     {
//        useModMapMods= level1;
	virtualModifier= Hyper;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Hyper_L	{
	action = SetMods(modifiers=Hyper);
    };

    interpret Hyper_R+Any     {
        //useModMapMods= level1;
	virtualModifier= Hyper;
	action = SetMods(modifiers=modMapMods);
    };

    interpret Hyper_R	{
	action = SetMods(modifiers=Hyper);
    };

    // Sets the "ScrollLock" virtual modifier and
    // makes it actually lock when pressed.  Sets
    // up a map for the scroll lock indicator.
    interpret Scroll_Lock+Any	{
	virtualModifier= ScrollLock;
	action = LockMods(modifiers=modMapMods);
    };

    include "ledscroll"
	
    include "misc(assign_shift_left_action)"
};

partial xkb_compatibility "assign_shift_left_action"  {
    // Because of the irrevertable modifier mapping in symbols/pc <LFSH> is 
    // getting bound to the Lock modifier when using 
    // symbols/shift(both_capslock), creating unwanted behaviour. 
    // This is a quirk, to circumvent the problem.
    interpret Shift_L {
        action = SetMods(modifiers = Shift);
    };
};