mousekeys revision 154daed1
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
9default 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