diff options
Diffstat (limited to 'nx-X11/programs/Xserver/hw')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Events.c | 8 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Keystroke.c | 78 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Keystroke.h | 11 |
3 files changed, 49 insertions, 48 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c index d8512b548..e4d031e06 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Events.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c @@ -180,6 +180,10 @@ static int viewportLastX; static int viewportLastY; static Cursor viewportCursor; +#define MAX_INC 200 +#define INC_STEP 5 +#define nextinc(x) ((x) < MAX_INC ? (x) += INC_STEP : (x)) + /* * Keyboard and pointer are handled as they were real devices by * Xnest and we inherit this behaviour. The following mask will @@ -193,10 +197,6 @@ static Mask defaultEventMask; static int lastEventSerial = 0; -#define MAX_INC 200 -#define INC_STEP 5 -#define nextinc(x) ((x) < MAX_INC ? (x) += INC_STEP : (x)) - /* * Used to mask the appropriate bits in * the state reported by XkbStateNotify diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c index ff6a2939e..ef7b0b27f 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c @@ -75,11 +75,6 @@ char * nxagentSpecialKeystrokeNames[] = { "switch_all_screens", "fullscreen", "minimize", - "left", - "up", - "right", - "down", - "resize", "defer", "ignore", "force_synchronization", @@ -94,10 +89,15 @@ char * nxagentSpecialKeystrokeNames[] = { "test_input", "deactivate_input_devices_grab", #endif + "resize", "viewport_move_left", "viewport_move_up", "viewport_move_right", "viewport_move_down", + "viewport_scroll_left", + "viewport_scroll_up", + "viewport_scroll_right", + "viewport_scroll_down", "reread_keystrokes", NULL, @@ -112,15 +112,6 @@ struct nxagentSpecialKeystrokeMap default_map[] = { {KEYSTROKE_SWITCH_ALL_SCREENS, ControlMask, True, XK_f}, {KEYSTROKE_FULLSCREEN, ControlMask | ShiftMask, True, XK_f}, {KEYSTROKE_MINIMIZE, ControlMask, True, XK_m}, - {KEYSTROKE_LEFT, ControlMask, True, XK_Left}, - {KEYSTROKE_LEFT, ControlMask, True, XK_KP_Left}, - {KEYSTROKE_UP, ControlMask, True, XK_Up}, - {KEYSTROKE_UP, ControlMask, True, XK_KP_Up}, - {KEYSTROKE_RIGHT, ControlMask, True, XK_Right}, - {KEYSTROKE_RIGHT, ControlMask, True, XK_KP_Right}, - {KEYSTROKE_DOWN, ControlMask, True, XK_Down}, - {KEYSTROKE_DOWN, ControlMask, True, XK_KP_Down}, - {KEYSTROKE_RESIZE, ControlMask, True, XK_r}, {KEYSTROKE_DEFER, ControlMask, True, XK_e}, {KEYSTROKE_IGNORE, ControlMask, True, XK_BackSpace}, {KEYSTROKE_IGNORE, 0, False, XK_Terminate_Server}, @@ -132,6 +123,7 @@ struct nxagentSpecialKeystrokeMap default_map[] = { {KEYSTROKE_TEST_INPUT, ControlMask, True, XK_x}, {KEYSTROKE_DEACTIVATE_INPUT_DEVICES_GRAB, ControlMask, True, XK_y}, #endif + {KEYSTROKE_RESIZE, ControlMask, True, XK_r}, {KEYSTROKE_VIEWPORT_MOVE_LEFT, ControlMask | ShiftMask, True, XK_Left}, {KEYSTROKE_VIEWPORT_MOVE_LEFT, ControlMask | ShiftMask, True, XK_KP_Left}, {KEYSTROKE_VIEWPORT_MOVE_UP, ControlMask | ShiftMask, True, XK_Up}, @@ -140,6 +132,14 @@ struct nxagentSpecialKeystrokeMap default_map[] = { {KEYSTROKE_VIEWPORT_MOVE_RIGHT, ControlMask | ShiftMask, True, XK_KP_Right}, {KEYSTROKE_VIEWPORT_MOVE_DOWN, ControlMask | ShiftMask, True, XK_Down}, {KEYSTROKE_VIEWPORT_MOVE_DOWN, ControlMask | ShiftMask, True, XK_KP_Down}, + {KEYSTROKE_VIEWPORT_SCROLL_LEFT, ControlMask, True, XK_Left}, + {KEYSTROKE_VIEWPORT_SCROLL_LEFT, ControlMask, True, XK_KP_Left}, + {KEYSTROKE_VIEWPORT_SCROLL_UP, ControlMask, True, XK_Up}, + {KEYSTROKE_VIEWPORT_SCROLL_UP, ControlMask, True, XK_KP_Up}, + {KEYSTROKE_VIEWPORT_SCROLL_RIGHT, ControlMask, True, XK_Right}, + {KEYSTROKE_VIEWPORT_SCROLL_RIGHT, ControlMask, True, XK_KP_Right}, + {KEYSTROKE_VIEWPORT_SCROLL_DOWN, ControlMask, True, XK_Down}, + {KEYSTROKE_VIEWPORT_SCROLL_DOWN, ControlMask, True, XK_KP_Down}, {KEYSTROKE_REREAD_KEYSTROKES, ControlMask, True, XK_k}, {KEYSTROKE_END_MARKER, 0, False, NoSymbol}, }; @@ -559,31 +559,6 @@ Bool nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result) *result = doMinimize; } break; - case KEYSTROKE_LEFT: - if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { - *result = doViewportLeft; - } - break; - case KEYSTROKE_UP: - if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { - *result = doViewportUp; - } - break; - case KEYSTROKE_RIGHT: - if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { - *result = doViewportRight; - } - break; - case KEYSTROKE_DOWN: - if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { - *result = doViewportDown; - } - break; - case KEYSTROKE_RESIZE: - if (!nxagentOption(Rootless)) { - *result = doSwitchResizeMode; - } - break; case KEYSTROKE_DEFER: *result = doSwitchDeferMode; break; @@ -628,6 +603,11 @@ Bool nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result) *result = doSwitchFullscreen; } break; + case KEYSTROKE_RESIZE: + if (!nxagentOption(Rootless)) { + *result = doSwitchResizeMode; + } + break; case KEYSTROKE_VIEWPORT_MOVE_LEFT: if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { *result = doViewportMoveLeft; @@ -648,6 +628,26 @@ Bool nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result) *result = doViewportMoveDown; } break; + case KEYSTROKE_VIEWPORT_SCROLL_LEFT: + if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { + *result = doViewportLeft; + } + break; + case KEYSTROKE_VIEWPORT_SCROLL_UP: + if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { + *result = doViewportUp; + } + break; + case KEYSTROKE_VIEWPORT_SCROLL_RIGHT: + if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { + *result = doViewportRight; + } + break; + case KEYSTROKE_VIEWPORT_SCROLL_DOWN: + if (!nxagentOption(Rootless) && !nxagentOption(DesktopResize)) { + *result = doViewportDown; + } + break; case KEYSTROKE_REREAD_KEYSTROKES: /* two reasons to check on KeyRelease: - this code is called for KeyPress and KeyRelease, so we diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h index 7eb71bb6f..13a83d0fe 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h +++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h @@ -44,11 +44,6 @@ enum nxagentSpecialKeystroke { KEYSTROKE_SWITCH_ALL_SCREENS, KEYSTROKE_FULLSCREEN, KEYSTROKE_MINIMIZE, - KEYSTROKE_LEFT, - KEYSTROKE_UP, - KEYSTROKE_RIGHT, - KEYSTROKE_DOWN, - KEYSTROKE_RESIZE, KEYSTROKE_DEFER, KEYSTROKE_IGNORE, KEYSTROKE_FORCE_SYNCHRONIZATION, @@ -65,10 +60,16 @@ enum nxagentSpecialKeystroke { KEYSTROKE_DEACTIVATE_INPUT_DEVICES_GRAB, #endif + /* all the viewport stuff */ + KEYSTROKE_RESIZE, KEYSTROKE_VIEWPORT_MOVE_LEFT, KEYSTROKE_VIEWPORT_MOVE_UP, KEYSTROKE_VIEWPORT_MOVE_RIGHT, KEYSTROKE_VIEWPORT_MOVE_DOWN, + KEYSTROKE_VIEWPORT_SCROLL_LEFT, + KEYSTROKE_VIEWPORT_SCROLL_UP, + KEYSTROKE_VIEWPORT_SCROLL_RIGHT, + KEYSTROKE_VIEWPORT_SCROLL_DOWN, KEYSTROKE_REREAD_KEYSTROKES, |