diff --git a/www-client/netsurf/patches/netsurf-2.HEAD.patch b/www-client/netsurf/patches/netsurf-2.HEAD.patch index 0493278ef..6c3451327 100644 --- a/www-client/netsurf/patches/netsurf-2.HEAD.patch +++ b/www-client/netsurf/patches/netsurf-2.HEAD.patch @@ -633,7 +633,7 @@ index ae78391..bd13230 100644 diff --git a/beos/window.cpp b/beos/window.cpp -index 253b5d1..b9e6491 100644 +index 253b5d1..729d7b1 100644 --- a/beos/window.cpp +++ b/beos/window.cpp @@ -131,7 +131,7 @@ static GdkCursor *nsbeos_create_menu_cursor(void); @@ -675,7 +675,56 @@ index 253b5d1..b9e6491 100644 break; } default: -@@ -1674,7 +1681,7 @@ bool gui_add_to_clipboard(const char *text, size_t length, bool space, +@@ -926,11 +933,44 @@ void nsbeos_window_keypress_event(BView *view, gui_window *g, BMessage *event) + nskey = utf8_to_ucs4(bytes, numbytes); + } + +- bool done = browser_window_key_press(g->bw, nskey); +- LOG(("nskey %d %d", nskey, done)); +- //if (browser_window_key_press(g->bw, nskey)) ++ if(browser_window_key_press(g->bw, nskey)) + return; +- ++ ++ // Remaining events are for scrolling the page around ++ float hdelta = 0.0f, vdelta = 0.0f; ++ g->view->LockLooper(); ++ BRect size = g->view->Bounds(); ++ switch (byte) { ++ case B_HOME: ++ g->view->ScrollTo(0.0f, 0.0f); ++ break; ++ case B_END: ++ { ++ // TODO ++ break; ++ } ++ case B_PAGE_UP: ++ vdelta = -size.Height(); ++ break; ++ case B_PAGE_DOWN: ++ vdelta = size.Height(); ++ break; ++ case B_LEFT_ARROW: ++ hdelta = -10; ++ break; ++ case B_RIGHT_ARROW: ++ hdelta = 10; ++ break; ++ case B_UP_ARROW: ++ vdelta = -10; ++ break; ++ case B_DOWN_ARROW: ++ vdelta = 10; ++ break; ++ } ++ ++ g->view->ScrollBy(hdelta, vdelta); ++ g->view->UnlockLooper(); + } + + #warning WRITEME +@@ -1674,7 +1714,7 @@ bool gui_add_to_clipboard(const char *text, size_t length, bool space, BFont font; text_run *run = new text_run;