Ctrl-PgUp and Ctrl-PgDn now scroll by one line on Unix and Windows
authorowen <owen@cda61777-01e9-0310-a592-d414129be87e>
Tue, 14 Jan 2003 11:24:26 +0000 (11:24 +0000)
committerowen <owen@cda61777-01e9-0310-a592-d414129be87e>
Tue, 14 Jan 2003 11:24:26 +0000 (11:24 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@2582 cda61777-01e9-0310-a592-d414129be87e

unix/pterm.c
window.c

index d31e884..69538f7 100644 (file)
@@ -483,10 +483,18 @@ gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
            term_scroll(inst->term, 0, -inst->cfg.height/2);
            return TRUE;
        }
+       if (event->keyval == GDK_Page_Up && (event->state & GDK_CONTROL_MASK)) {
+           term_scroll(inst->term, 0, -1);
+           return TRUE;
+       }
        if (event->keyval == GDK_Page_Down && (event->state & GDK_SHIFT_MASK)) {
            term_scroll(inst->term, 0, +inst->cfg.height/2);
            return TRUE;
        }
+       if (event->keyval == GDK_Page_Down && (event->state & GDK_CONTROL_MASK)) {
+           term_scroll(inst->term, 0, +1);
+           return TRUE;
+       }
 
        /*
         * Neither does Shift-Ins.
index 8696fe4..77f4598 100644 (file)
--- a/window.c
+++ b/window.c
@@ -3290,10 +3290,18 @@ static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam,
            SendMessage(hwnd, WM_VSCROLL, SB_PAGEUP, 0);
            return 0;
        }
+       if (wParam == VK_PRIOR && shift_state == 2) {
+           SendMessage(hwnd, WM_VSCROLL, SB_LINEUP, 0);
+           return 0;
+       }
        if (wParam == VK_NEXT && shift_state == 1) {
            SendMessage(hwnd, WM_VSCROLL, SB_PAGEDOWN, 0);
            return 0;
        }
+       if (wParam == VK_NEXT && shift_state == 2) {
+           SendMessage(hwnd, WM_VSCROLL, SB_LINEDOWN, 0);
+           return 0;
+       }
        if (wParam == VK_INSERT && shift_state == 1) {
            term_do_paste(term);
            return 0;