summaryrefslogtreecommitdiff
path: root/compat/mousekeys
blob: 6e9a208d6d13c04f65747ecf4e6006ed4c2422b9 (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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182

// $Xorg: mousekeys,v 1.3 2000/08/17 19:54:34 cpqbld Exp $

// Interpretations for arrow keys and a bunch of other 
// common keysyms which make it possible to bind "mouse" 
// keys using xmodmap and activate or deactivate them 
// from the keyboard.

default partial xkb_compatibility "mousekeys" {

    // Keypad actions.
    //
    interpret.repeat= True;

    interpret KP_1 { 
	action = MovePtr(x=-1,y= +1); 
    };
    interpret KP_End { 
	action = MovePtr(x=-1,y= +1); 
    };

    interpret KP_2 { 
	action = MovePtr(x=+0,y= +1); 
    };
    interpret KP_Down { 
	action = MovePtr(x=+0,y= +1); 
    };

    interpret KP_3 { 
	action = MovePtr(x=+1,y=+1); 
    };
    interpret KP_Next { 
 	action = MovePtr(x=+1,y=+1); 
    };

    interpret KP_4 { 
	action = MovePtr(x=-1,y=+0); 
    };
    interpret KP_Left { 
	action = MovePtr(x=-1,y=+0); 
    };

    interpret KP_6 { 
	action = MovePtr(x=+1,y=+0); 
    };
    interpret KP_Right { 
 	action = MovePtr(x=+1,y=+0); 
    };

    interpret KP_7 { 
	action = MovePtr(x=-1,y=-1); 
    };
    interpret KP_Home { 
	action = MovePtr(x=-1,y=-1); 
    };

    interpret KP_8 { 
	action = MovePtr(x=+0,y=-1); 
    };
    interpret KP_Up { 
	action = MovePtr(x=+0,y=-1); 
    };

    interpret KP_9 { 
	action = MovePtr(x=+1,y=-1); 
    };
    interpret KP_Prior { 
	action = MovePtr(x=+1,y=-1); 
    };

    interpret KP_5 { 
	action = PointerButton(button=default); 
    };
    interpret KP_Begin { 
	action = PointerButton(button=default); 
    };

    interpret KP_F2 { 
	action = SetPtrDflt(affect=defaultButton,button=1); 
    };
    interpret KP_Divide { 
	action = SetPtrDflt(affect=defaultButton,button=1); 
    };

    interpret KP_F3 { 
	action = SetPtrDflt(affect=defaultButton,button=2); 
    };
    interpret KP_Multiply { 
	action = SetPtrDflt(affect=defaultButton,button=2); 
    };

    interpret KP_F4 { 
	action = SetPtrDflt(affect=defaultButton,button=3); 
    };
    interpret KP_Subtract { 
	action = SetPtrDflt(affect=defaultButton,button=3); 
    };

    interpret KP_Separator { 
	action = PointerButton(button=default,count=2); 
    };
    interpret KP_Add { 
	action = PointerButton(button=default,count=2);
    };

    interpret KP_0 { 
	action = LockPointerButton(button=default,affect=lock); 
    };
    interpret KP_Insert { 
	action = LockPointerButton(button=default,affect=lock); 
    };

    interpret KP_Decimal { 
	action = LockPointerButton(button=default,affect=unlock); 
    };
    interpret KP_Delete { 
	action = LockPointerButton(button=default,affect=unlock); 
    };

    interpret.repeat= False;


    // New Keysym Actions.
    //
    interpret Pointer_Button_Dflt {
	action= PointerButton(button=default);
    };
    interpret Pointer_Button1 {
	action= PointerButton(button=1);
    };
    interpret Pointer_Button2 {
	action= PointerButton(button=2);
    };
    interpret Pointer_Button3 {
	action= PointerButton(button=3);
    };
    interpret Pointer_DblClick_Dflt {
	action= PointerButton(button=default,count=2);
    };
    interpret Pointer_DblClick1 {
	action= PointerButton(button=1,count=2);
    };
    interpret Pointer_DblClick2 {
	action= PointerButton(button=2,count=2);
    };
    interpret Pointer_DblClick3 {
	action= PointerButton(button=3,count=2);
    };
    interpret Pointer_Drag_Dflt	{
	action= LockPointerButton(button=default);
    };
    interpret Pointer_Drag1 {
	action= LockPointerButton(button=1);
    };
    interpret Pointer_Drag2 {
	action= LockPointerButton(button=2);
    };
    interpret Pointer_Drag3 {
	action= LockPointerButton(button=3);
    };

    interpret Pointer_EnableKeys {
	action= LockControls(controls=MouseKeys);
    };
    interpret Pointer_Accelerate {
	action= LockControls(controls=MouseKeysAccel);
    };
    interpret Pointer_DfltBtnNext {
	action= SetPtrDflt(affect=defaultButton,button= +1);
    };
    interpret Pointer_DfltBtnPrev {
	action= SetPtrDflt(affect=defaultButton,button= -1);
    };


    // Allow an indicator for MouseKeys.
    indicator "Mouse Keys" {
//	!allowExplicit;
	indicatorDrivesKeyboard;
	controls= MouseKeys;
    };
};