2014-10-16 08:48:00 -06:00
|
|
|
// Interpretations for arrow keys and a bunch of
|
|
|
|
// other common keysyms which make it possible to
|
|
|
|
// bind "mouse" keys using xmodmap and activate or
|
|
|
|
// deactivate them from the keyboard.
|
2012-07-12 07:42:31 -06:00
|
|
|
|
|
|
|
default partial xkb_compatibility "mousekeys" {
|
|
|
|
|
|
|
|
// Keypad actions.
|
2014-10-16 08:48:00 -06:00
|
|
|
|
2012-07-12 07:42:31 -06:00
|
|
|
interpret.repeat= True;
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_1 {
|
|
|
|
action = MovePtr(x=-1,y= +1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_End {
|
|
|
|
action = MovePtr(x=-1,y= +1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_2 {
|
|
|
|
action = MovePtr(x=+0,y= +1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Down {
|
|
|
|
action = MovePtr(x=+0,y= +1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_3 {
|
|
|
|
action = MovePtr(x=+1,y=+1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Next {
|
|
|
|
action = MovePtr(x=+1,y=+1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_4 {
|
|
|
|
action = MovePtr(x=-1,y=+0);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Left {
|
|
|
|
action = MovePtr(x=-1,y=+0);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_6 {
|
|
|
|
action = MovePtr(x=+1,y=+0);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Right {
|
|
|
|
action = MovePtr(x=+1,y=+0);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_7 {
|
|
|
|
action = MovePtr(x=-1,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Home {
|
|
|
|
action = MovePtr(x=-1,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_8 {
|
|
|
|
action = MovePtr(x=+0,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Up {
|
|
|
|
action = MovePtr(x=+0,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_9 {
|
|
|
|
action = MovePtr(x=+1,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Prior {
|
|
|
|
action = MovePtr(x=+1,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_5 {
|
|
|
|
action = PointerButton(button=default);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Begin {
|
|
|
|
action = PointerButton(button=default);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_F2 {
|
|
|
|
action = SetPtrDflt(affect=defaultButton,button=1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Divide {
|
|
|
|
action = SetPtrDflt(affect=defaultButton,button=1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_F3 {
|
|
|
|
action = SetPtrDflt(affect=defaultButton,button=2);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Multiply {
|
|
|
|
action = SetPtrDflt(affect=defaultButton,button=2);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_F4 {
|
|
|
|
action = SetPtrDflt(affect=defaultButton,button=3);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Subtract {
|
|
|
|
action = SetPtrDflt(affect=defaultButton,button=3);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Separator {
|
|
|
|
action = PointerButton(button=default,count=2);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Add {
|
2012-07-12 07:42:31 -06:00
|
|
|
action = PointerButton(button=default,count=2);
|
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_0 {
|
|
|
|
action = LockPointerButton(button=default,affect=lock);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Insert {
|
|
|
|
action = LockPointerButton(button=default,affect=lock);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Decimal {
|
|
|
|
action = LockPointerButton(button=default,affect=unlock);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret KP_Delete {
|
|
|
|
action = LockPointerButton(button=default,affect=unlock);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
// Additional mappings for Solaris keypad compatibility.
|
|
|
|
|
2012-07-12 07:42:31 -06:00
|
|
|
interpret F25 { // aka KP_Divide
|
2014-10-16 08:48:00 -06:00
|
|
|
action = SetPtrDflt(affect=defaultButton,button=1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
interpret F26 { // aka KP_Multiply
|
2014-10-16 08:48:00 -06:00
|
|
|
action = SetPtrDflt(affect=defaultButton,button=2);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
interpret F27 { // aka KP_Home
|
2014-10-16 08:48:00 -06:00
|
|
|
action = MovePtr(x=-1,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
interpret F29 { // aka KP_Prior
|
2014-10-16 08:48:00 -06:00
|
|
|
action = MovePtr(x=+1,y=-1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
interpret F31 { // aka KP_Begin
|
2014-10-16 08:48:00 -06:00
|
|
|
action = PointerButton(button=default);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
interpret F33 { // aka KP_End
|
2014-10-16 08:48:00 -06:00
|
|
|
action = MovePtr(x=-1,y= +1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
interpret F35 { // aka KP_Next
|
2014-10-16 08:48:00 -06:00
|
|
|
action = MovePtr(x=+1,y=+1);
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
interpret.repeat= False;
|
|
|
|
|
2014-10-16 08:48:00 -06:00
|
|
|
// New keysym actions.
|
2012-07-12 07:42:31 -06:00
|
|
|
|
|
|
|
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);
|
|
|
|
};
|
2014-10-16 08:48:00 -06:00
|
|
|
interpret Pointer_Drag_Dflt {
|
2012-07-12 07:42:31 -06:00
|
|
|
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);
|
|
|
|
};
|
|
|
|
|
|
|
|
// Allow an indicator for MouseKeys.
|
|
|
|
indicator "Mouse Keys" {
|
2014-10-16 08:48:00 -06:00
|
|
|
//!allowExplicit;
|
2012-07-12 07:42:31 -06:00
|
|
|
indicatorDrivesKeyboard;
|
|
|
|
controls= MouseKeys;
|
|
|
|
};
|
|
|
|
};
|