mousekeys revision 154daed1
1154daed1Smrg 2154daed1Smrg// $Xorg: mousekeys,v 1.3 2000/08/17 19:54:34 cpqbld Exp $ 3154daed1Smrg 4154daed1Smrg// Interpretations for arrow keys and a bunch of other 5154daed1Smrg// common keysyms which make it possible to bind "mouse" 6154daed1Smrg// keys using xmodmap and activate or deactivate them 7154daed1Smrg// from the keyboard. 8154daed1Smrg 9154daed1Smrgdefault partial xkb_compatibility "mousekeys" { 10154daed1Smrg 11154daed1Smrg // Keypad actions. 12154daed1Smrg // 13154daed1Smrg interpret.repeat= True; 14154daed1Smrg 15154daed1Smrg interpret KP_1 { 16154daed1Smrg action = MovePtr(x=-1,y= +1); 17154daed1Smrg }; 18154daed1Smrg interpret KP_End { 19154daed1Smrg action = MovePtr(x=-1,y= +1); 20154daed1Smrg }; 21154daed1Smrg 22154daed1Smrg interpret KP_2 { 23154daed1Smrg action = MovePtr(x=+0,y= +1); 24154daed1Smrg }; 25154daed1Smrg interpret KP_Down { 26154daed1Smrg action = MovePtr(x=+0,y= +1); 27154daed1Smrg }; 28154daed1Smrg 29154daed1Smrg interpret KP_3 { 30154daed1Smrg action = MovePtr(x=+1,y=+1); 31154daed1Smrg }; 32154daed1Smrg interpret KP_Next { 33154daed1Smrg action = MovePtr(x=+1,y=+1); 34154daed1Smrg }; 35154daed1Smrg 36154daed1Smrg interpret KP_4 { 37154daed1Smrg action = MovePtr(x=-1,y=+0); 38154daed1Smrg }; 39154daed1Smrg interpret KP_Left { 40154daed1Smrg action = MovePtr(x=-1,y=+0); 41154daed1Smrg }; 42154daed1Smrg 43154daed1Smrg interpret KP_6 { 44154daed1Smrg action = MovePtr(x=+1,y=+0); 45154daed1Smrg }; 46154daed1Smrg interpret KP_Right { 47154daed1Smrg action = MovePtr(x=+1,y=+0); 48154daed1Smrg }; 49154daed1Smrg 50154daed1Smrg interpret KP_7 { 51154daed1Smrg action = MovePtr(x=-1,y=-1); 52154daed1Smrg }; 53154daed1Smrg interpret KP_Home { 54154daed1Smrg action = MovePtr(x=-1,y=-1); 55154daed1Smrg }; 56154daed1Smrg 57154daed1Smrg interpret KP_8 { 58154daed1Smrg action = MovePtr(x=+0,y=-1); 59154daed1Smrg }; 60154daed1Smrg interpret KP_Up { 61154daed1Smrg action = MovePtr(x=+0,y=-1); 62154daed1Smrg }; 63154daed1Smrg 64154daed1Smrg interpret KP_9 { 65154daed1Smrg action = MovePtr(x=+1,y=-1); 66154daed1Smrg }; 67154daed1Smrg interpret KP_Prior { 68154daed1Smrg action = MovePtr(x=+1,y=-1); 69154daed1Smrg }; 70154daed1Smrg 71154daed1Smrg interpret KP_5 { 72154daed1Smrg action = PointerButton(button=default); 73154daed1Smrg }; 74154daed1Smrg interpret KP_Begin { 75154daed1Smrg action = PointerButton(button=default); 76154daed1Smrg }; 77154daed1Smrg 78154daed1Smrg interpret KP_F2 { 79154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=1); 80154daed1Smrg }; 81154daed1Smrg interpret KP_Divide { 82154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=1); 83154daed1Smrg }; 84154daed1Smrg 85154daed1Smrg interpret KP_F3 { 86154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=2); 87154daed1Smrg }; 88154daed1Smrg interpret KP_Multiply { 89154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=2); 90154daed1Smrg }; 91154daed1Smrg 92154daed1Smrg interpret KP_F4 { 93154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=3); 94154daed1Smrg }; 95154daed1Smrg interpret KP_Subtract { 96154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=3); 97154daed1Smrg }; 98154daed1Smrg 99154daed1Smrg interpret KP_Separator { 100154daed1Smrg action = PointerButton(button=default,count=2); 101154daed1Smrg }; 102154daed1Smrg interpret KP_Add { 103154daed1Smrg action = PointerButton(button=default,count=2); 104154daed1Smrg }; 105154daed1Smrg 106154daed1Smrg interpret KP_0 { 107154daed1Smrg action = LockPointerButton(button=default,affect=lock); 108154daed1Smrg }; 109154daed1Smrg interpret KP_Insert { 110154daed1Smrg action = LockPointerButton(button=default,affect=lock); 111154daed1Smrg }; 112154daed1Smrg 113154daed1Smrg interpret KP_Decimal { 114154daed1Smrg action = LockPointerButton(button=default,affect=unlock); 115154daed1Smrg }; 116154daed1Smrg interpret KP_Delete { 117154daed1Smrg action = LockPointerButton(button=default,affect=unlock); 118154daed1Smrg }; 119154daed1Smrg 120154daed1Smrg // Additional mappings for Solaris keypad compatibility 121154daed1Smrg interpret F25 { // aka KP_Divide 122154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=1); 123154daed1Smrg }; 124154daed1Smrg interpret F26 { // aka KP_Multiply 125154daed1Smrg action = SetPtrDflt(affect=defaultButton,button=2); 126154daed1Smrg }; 127154daed1Smrg interpret F27 { // aka KP_Home 128154daed1Smrg action = MovePtr(x=-1,y=-1); 129154daed1Smrg }; 130154daed1Smrg interpret F29 { // aka KP_Prior 131154daed1Smrg action = MovePtr(x=+1,y=-1); 132154daed1Smrg }; 133154daed1Smrg interpret F31 { // aka KP_Begin 134154daed1Smrg action = PointerButton(button=default); 135154daed1Smrg }; 136154daed1Smrg interpret F33 { // aka KP_End 137154daed1Smrg action = MovePtr(x=-1,y= +1); 138154daed1Smrg }; 139154daed1Smrg interpret F35 { // aka KP_Next 140154daed1Smrg action = MovePtr(x=+1,y=+1); 141154daed1Smrg }; 142154daed1Smrg 143154daed1Smrg interpret.repeat= False; 144154daed1Smrg 145154daed1Smrg 146154daed1Smrg // New Keysym Actions. 147154daed1Smrg // 148154daed1Smrg interpret Pointer_Button_Dflt { 149154daed1Smrg action= PointerButton(button=default); 150154daed1Smrg }; 151154daed1Smrg interpret Pointer_Button1 { 152154daed1Smrg action= PointerButton(button=1); 153154daed1Smrg }; 154154daed1Smrg interpret Pointer_Button2 { 155154daed1Smrg action= PointerButton(button=2); 156154daed1Smrg }; 157154daed1Smrg interpret Pointer_Button3 { 158154daed1Smrg action= PointerButton(button=3); 159154daed1Smrg }; 160154daed1Smrg interpret Pointer_DblClick_Dflt { 161154daed1Smrg action= PointerButton(button=default,count=2); 162154daed1Smrg }; 163154daed1Smrg interpret Pointer_DblClick1 { 164154daed1Smrg action= PointerButton(button=1,count=2); 165154daed1Smrg }; 166154daed1Smrg interpret Pointer_DblClick2 { 167154daed1Smrg action= PointerButton(button=2,count=2); 168154daed1Smrg }; 169154daed1Smrg interpret Pointer_DblClick3 { 170154daed1Smrg action= PointerButton(button=3,count=2); 171154daed1Smrg }; 172154daed1Smrg interpret Pointer_Drag_Dflt { 173154daed1Smrg action= LockPointerButton(button=default); 174154daed1Smrg }; 175154daed1Smrg interpret Pointer_Drag1 { 176154daed1Smrg action= LockPointerButton(button=1); 177154daed1Smrg }; 178154daed1Smrg interpret Pointer_Drag2 { 179154daed1Smrg action= LockPointerButton(button=2); 180154daed1Smrg }; 181154daed1Smrg interpret Pointer_Drag3 { 182154daed1Smrg action= LockPointerButton(button=3); 183154daed1Smrg }; 184154daed1Smrg 185154daed1Smrg interpret Pointer_EnableKeys { 186154daed1Smrg action= LockControls(controls=MouseKeys); 187154daed1Smrg }; 188154daed1Smrg interpret Pointer_Accelerate { 189154daed1Smrg action= LockControls(controls=MouseKeysAccel); 190154daed1Smrg }; 191154daed1Smrg interpret Pointer_DfltBtnNext { 192154daed1Smrg action= SetPtrDflt(affect=defaultButton,button= +1); 193154daed1Smrg }; 194154daed1Smrg interpret Pointer_DfltBtnPrev { 195154daed1Smrg action= SetPtrDflt(affect=defaultButton,button= -1); 196154daed1Smrg }; 197154daed1Smrg 198154daed1Smrg 199154daed1Smrg // Allow an indicator for MouseKeys. 200154daed1Smrg indicator "Mouse Keys" { 201154daed1Smrg// !allowExplicit; 202154daed1Smrg indicatorDrivesKeyboard; 203154daed1Smrg controls= MouseKeys; 204154daed1Smrg }; 205154daed1Smrg}; 206