diff -ur wesnoth-1.8.2/src/controller_base.cpp wesnoth-1.8.2-aym1/src/controller_base.cpp --- wesnoth-1.8.2/src/controller_base.cpp 2010-01-01 14:16:49.000000000 +0100 +++ wesnoth-1.8.2-aym1/src/controller_base.cpp 2010-08-22 08:48:35.000000000 +0200 @@ -167,6 +167,22 @@ { dx += scroll_speed; } + if (key[SDLK_PAGEUP] && keyboard_focus) + { + dy -= 10 * scroll_speed; + } + if (key[SDLK_PAGEDOWN] && keyboard_focus) + { + dy += 10 * scroll_speed; + } + if (key[SDLK_HOME] && keyboard_focus) + { + dx -= 10 * scroll_speed; + } + if (key[SDLK_END] && keyboard_focus) + { + dx += 10 * scroll_speed; + } if ((mouse_flags & SDL_BUTTON_MMASK) != 0 && preferences::middle_click_scrolls()) { const SDL_Rect& rect = get_display().map_outside_area(); if (point_in_rect(mousex, mousey,rect)) {