




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