mousekeys revision 1.1 1
2 // $Xorg: mousekeys,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
3
4 // Interpretations for arrow keys and a bunch of other
5 // common keysyms which make it possible to bind "mouse"
6 // keys using xmodmap and activate or deactivate them
7 // from the keyboard.
8
9 default partial xkb_compatibility "mousekeys" {
10
11 // Keypad actions.
12 //
13 interpret.repeat= True;
14
15 interpret KP_1 {
16 action = MovePtr(x=-1,y= +1);
17 };
18 interpret KP_End {
19 action = MovePtr(x=-1,y= +1);
20 };
21
22 interpret KP_2 {
23 action = MovePtr(x=+0,y= +1);
24 };
25 interpret KP_Down {
26 action = MovePtr(x=+0,y= +1);
27 };
28
29 interpret KP_3 {
30 action = MovePtr(x=+1,y=+1);
31 };
32 interpret KP_Next {
33 action = MovePtr(x=+1,y=+1);
34 };
35
36 interpret KP_4 {
37 action = MovePtr(x=-1,y=+0);
38 };
39 interpret KP_Left {
40 action = MovePtr(x=-1,y=+0);
41 };
42
43 interpret KP_6 {
44 action = MovePtr(x=+1,y=+0);
45 };
46 interpret KP_Right {
47 action = MovePtr(x=+1,y=+0);
48 };
49
50 interpret KP_7 {
51 action = MovePtr(x=-1,y=-1);
52 };
53 interpret KP_Home {
54 action = MovePtr(x=-1,y=-1);
55 };
56
57 interpret KP_8 {
58 action = MovePtr(x=+0,y=-1);
59 };
60 interpret KP_Up {
61 action = MovePtr(x=+0,y=-1);
62 };
63
64 interpret KP_9 {
65 action = MovePtr(x=+1,y=-1);
66 };
67 interpret KP_Prior {
68 action = MovePtr(x=+1,y=-1);
69 };
70
71 interpret KP_5 {
72 action = PointerButton(button=default);
73 };
74 interpret KP_Begin {
75 action = PointerButton(button=default);
76 };
77
78 interpret KP_F2 {
79 action = SetPtrDflt(affect=defaultButton,button=1);
80 };
81 interpret KP_Divide {
82 action = SetPtrDflt(affect=defaultButton,button=1);
83 };
84
85 interpret KP_F3 {
86 action = SetPtrDflt(affect=defaultButton,button=2);
87 };
88 interpret KP_Multiply {
89 action = SetPtrDflt(affect=defaultButton,button=2);
90 };
91
92 interpret KP_F4 {
93 action = SetPtrDflt(affect=defaultButton,button=3);
94 };
95 interpret KP_Subtract {
96 action = SetPtrDflt(affect=defaultButton,button=3);
97 };
98
99 interpret KP_Separator {
100 action = PointerButton(button=default,count=2);
101 };
102 interpret KP_Add {
103 action = PointerButton(button=default,count=2);
104 };
105
106 interpret KP_0 {
107 action = LockPointerButton(button=default,affect=lock);
108 };
109 interpret KP_Insert {
110 action = LockPointerButton(button=default,affect=lock);
111 };
112
113 interpret KP_Decimal {
114 action = LockPointerButton(button=default,affect=unlock);
115 };
116 interpret KP_Delete {
117 action = LockPointerButton(button=default,affect=unlock);
118 };
119
120 // Additional mappings for Solaris keypad compatibility
121 interpret F25 { // aka KP_Divide
122 action = SetPtrDflt(affect=defaultButton,button=1);
123 };
124 interpret F26 { // aka KP_Multiply
125 action = SetPtrDflt(affect=defaultButton,button=2);
126 };
127 interpret F27 { // aka KP_Home
128 action = MovePtr(x=-1,y=-1);
129 };
130 interpret F29 { // aka KP_Prior
131 action = MovePtr(x=+1,y=-1);
132 };
133 interpret F31 { // aka KP_Begin
134 action = PointerButton(button=default);
135 };
136 interpret F33 { // aka KP_End
137 action = MovePtr(x=-1,y= +1);
138 };
139 interpret F35 { // aka KP_Next
140 action = MovePtr(x=+1,y=+1);
141 };
142
143 interpret.repeat= False;
144
145
146 // New Keysym Actions.
147 //
148 interpret Pointer_Button_Dflt {
149 action= PointerButton(button=default);
150 };
151 interpret Pointer_Button1 {
152 action= PointerButton(button=1);
153 };
154 interpret Pointer_Button2 {
155 action= PointerButton(button=2);
156 };
157 interpret Pointer_Button3 {
158 action= PointerButton(button=3);
159 };
160 interpret Pointer_DblClick_Dflt {
161 action= PointerButton(button=default,count=2);
162 };
163 interpret Pointer_DblClick1 {
164 action= PointerButton(button=1,count=2);
165 };
166 interpret Pointer_DblClick2 {
167 action= PointerButton(button=2,count=2);
168 };
169 interpret Pointer_DblClick3 {
170 action= PointerButton(button=3,count=2);
171 };
172 interpret Pointer_Drag_Dflt {
173 action= LockPointerButton(button=default);
174 };
175 interpret Pointer_Drag1 {
176 action= LockPointerButton(button=1);
177 };
178 interpret Pointer_Drag2 {
179 action= LockPointerButton(button=2);
180 };
181 interpret Pointer_Drag3 {
182 action= LockPointerButton(button=3);
183 };
184
185 interpret Pointer_EnableKeys {
186 action= LockControls(controls=MouseKeys);
187 };
188 interpret Pointer_Accelerate {
189 action= LockControls(controls=MouseKeysAccel);
190 };
191 interpret Pointer_DfltBtnNext {
192 action= SetPtrDflt(affect=defaultButton,button= +1);
193 };
194 interpret Pointer_DfltBtnPrev {
195 action= SetPtrDflt(affect=defaultButton,button= -1);
196 };
197
198
199 // Allow an indicator for MouseKeys.
200 indicator "Mouse Keys" {
201 // !allowExplicit;
202 indicatorDrivesKeyboard;
203 controls= MouseKeys;
204 };
205 };
206