2 // $Xorg: mousekeys,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
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
9 default partial xkb_compatibility "mousekeys" {
13 interpret.repeat= True;
16 action = MovePtr(x=-1,y= +1);
19 action = MovePtr(x=-1,y= +1);
23 action = MovePtr(x=+0,y= +1);
26 action = MovePtr(x=+0,y= +1);
30 action = MovePtr(x=+1,y=+1);
33 action = MovePtr(x=+1,y=+1);
37 action = MovePtr(x=-1,y=+0);
40 action = MovePtr(x=-1,y=+0);
44 action = MovePtr(x=+1,y=+0);
47 action = MovePtr(x=+1,y=+0);
51 action = MovePtr(x=-1,y=-1);
54 action = MovePtr(x=-1,y=-1);
58 action = MovePtr(x=+0,y=-1);
61 action = MovePtr(x=+0,y=-1);
65 action = MovePtr(x=+1,y=-1);
68 action = MovePtr(x=+1,y=-1);
72 action = PointerButton(button=default);
75 action = PointerButton(button=default);
79 action = SetPtrDflt(affect=defaultButton,button=1);
82 action = SetPtrDflt(affect=defaultButton,button=1);
86 action = SetPtrDflt(affect=defaultButton,button=2);
88 interpret KP_Multiply {
89 action = SetPtrDflt(affect=defaultButton,button=2);
93 action = SetPtrDflt(affect=defaultButton,button=3);
95 interpret KP_Subtract {
96 action = SetPtrDflt(affect=defaultButton,button=3);
99 interpret KP_Separator {
100 action = PointerButton(button=default,count=2);
103 action = PointerButton(button=default,count=2);
107 action = LockPointerButton(button=default,affect=lock);
109 interpret KP_Insert {
110 action = LockPointerButton(button=default,affect=lock);
113 interpret KP_Decimal {
114 action = LockPointerButton(button=default,affect=unlock);
116 interpret KP_Delete {
117 action = LockPointerButton(button=default,affect=unlock);
120 // Additional mappings for Solaris keypad compatibility
121 interpret F25 { // aka KP_Divide
122 action = SetPtrDflt(affect=defaultButton,button=1);
124 interpret F26 { // aka KP_Multiply
125 action = SetPtrDflt(affect=defaultButton,button=2);
127 interpret F27 { // aka KP_Home
128 action = MovePtr(x=-1,y=-1);
130 interpret F29 { // aka KP_Prior
131 action = MovePtr(x=+1,y=-1);
133 interpret F31 { // aka KP_Begin
134 action = PointerButton(button=default);
136 interpret F33 { // aka KP_End
137 action = MovePtr(x=-1,y= +1);
139 interpret F35 { // aka KP_Next
140 action = MovePtr(x=+1,y=+1);
143 interpret.repeat= False;
146 // New Keysym Actions.
148 interpret Pointer_Button_Dflt {
149 action= PointerButton(button=default);
151 interpret Pointer_Button1 {
152 action= PointerButton(button=1);
154 interpret Pointer_Button2 {
155 action= PointerButton(button=2);
157 interpret Pointer_Button3 {
158 action= PointerButton(button=3);
160 interpret Pointer_DblClick_Dflt {
161 action= PointerButton(button=default,count=2);
163 interpret Pointer_DblClick1 {
164 action= PointerButton(button=1,count=2);
166 interpret Pointer_DblClick2 {
167 action= PointerButton(button=2,count=2);
169 interpret Pointer_DblClick3 {
170 action= PointerButton(button=3,count=2);
172 interpret Pointer_Drag_Dflt {
173 action= LockPointerButton(button=default);
175 interpret Pointer_Drag1 {
176 action= LockPointerButton(button=1);
178 interpret Pointer_Drag2 {
179 action= LockPointerButton(button=2);
181 interpret Pointer_Drag3 {
182 action= LockPointerButton(button=3);
185 interpret Pointer_EnableKeys {
186 action= LockControls(controls=MouseKeys);
188 interpret Pointer_Accelerate {
189 action= LockControls(controls=MouseKeysAccel);
191 interpret Pointer_DfltBtnNext {
192 action= SetPtrDflt(affect=defaultButton,button= +1);
194 interpret Pointer_DfltBtnPrev {
195 action= SetPtrDflt(affect=defaultButton,button= -1);
199 // Allow an indicator for MouseKeys.
200 indicator "Mouse Keys" {
202 indicatorDrivesKeyboard;