




default partial xkb_compatibility "mousekeys" {

 
 
 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 F25 { 
 action = SetPtrDflt(affect=defaultButton,button=1); 
 };
 interpret F26 { 
 action = SetPtrDflt(affect=defaultButton,button=2); 
 };
 interpret F27 { 
 action = MovePtr(x=-1,y=-1); 
 };
 interpret F29 { 
 action = MovePtr(x=+1,y=-1); 
 };
 interpret F31 { 
 action = PointerButton(button=default); 
 };
 interpret F33 { 
 action = MovePtr(x=-1,y= +1); 
 };
 interpret F35 { 
 action = MovePtr(x=+1,y=+1); 
 };

 interpret.repeat= False;


 
 
 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);
 };


 
 indicator "Mouse Keys" {

 indicatorDrivesKeyboard;
 controls= MouseKeys;
 };
};
