summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-11-02 23:12:28 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-11-02 23:12:28 +0000
commit1b89eb8397671707a34aec747ad9384d41bf1dd1 (patch)
treedfc0dc13ab8ae6c8bba44ecb502cae329e952de0 /amiga
parente5b8264dd84b6450724475be195b92897a09fb91 (diff)
downloadnetsurf-1b89eb8397671707a34aec747ad9384d41bf1dd1.tar.gz
netsurf-1b89eb8397671707a34aec747ad9384d41bf1dd1.tar.bz2
Basic keyboard scrolling
svn path=/trunk/netsurf/; revision=9658
Diffstat (limited to 'amiga')
-rwxr-xr-xamiga/gui.c41
1 files changed, 38 insertions, 3 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index 16c50d871..eed917c40 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -1214,10 +1214,13 @@ void ami_handle_msg(void)
* key presses. Context menus need to be changed to use MENUVERIFY not RMBTRAP */
switch(nskey)
{
+ case 'a':
+ browser_window_key_press(gwin->bw, KEY_SELECT_ALL);
+ break;
+
case 'c':
browser_window_key_press(gwin->bw, KEY_COPY_SELECTION);
- browser_window_key_press(gwin->bw, KEY_ESCAPE);
- break;
+ browser_window_key_press(gwin->bw, KEY_CLEAR_SELECTION);
case 'v':
browser_window_key_press(gwin->bw, KEY_PASTE);
break;
@@ -1225,7 +1228,39 @@ void ami_handle_msg(void)
}
else
{
- browser_window_key_press(gwin->bw, nskey);
+ if(!browser_window_key_press(gwin->bw, nskey))
+ {
+ gui_window_get_scroll(gwin->bw->window,
+ &gwin->bw->window->scrollx,
+ &gwin->bw->window->scrolly);
+
+ switch(nskey)
+ {
+ case KEY_UP:
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx,
+ gwin->bw->window->scrolly - 5);
+ break;
+
+ case KEY_DOWN:
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx,
+ gwin->bw->window->scrolly + 5);
+ break;
+
+ case KEY_LEFT:
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx - 5,
+ gwin->bw->window->scrolly);
+ break;
+
+ case KEY_RIGHT:
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx + 5,
+ gwin->bw->window->scrolly);
+ break;
+ }
+ }
}
break;