summaryrefslogtreecommitdiff
path: root/framebuffer/fb_frontend_sdl.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2009-02-13 17:34:18 +0000
committerVincent Sanders <vince@netsurf-browser.org>2009-02-13 17:34:18 +0000
commitce23bb867bce14a73cc758b6a3ad89cbe55ba506 (patch)
tree92d065b023ba36a5284a315aa8a3640d346d79a8 /framebuffer/fb_frontend_sdl.c
parent79c0981402d27bfa5327876ad636137725b6d575 (diff)
downloadnetsurf-ce23bb867bce14a73cc758b6a3ad89cbe55ba506.tar.gz
netsurf-ce23bb867bce14a73cc758b6a3ad89cbe55ba506.tar.bz2
make url bar work
make SDL frontend keypresses more sensible split out inline image data into a seperate source file svn path=/trunk/netsurf/; revision=6469
Diffstat (limited to 'framebuffer/fb_frontend_sdl.c')
-rw-r--r--framebuffer/fb_frontend_sdl.c39
1 files changed, 30 insertions, 9 deletions
diff --git a/framebuffer/fb_frontend_sdl.c b/framebuffer/fb_frontend_sdl.c
index dd8ee2e06..16086c214 100644
--- a/framebuffer/fb_frontend_sdl.c
+++ b/framebuffer/fb_frontend_sdl.c
@@ -108,24 +108,24 @@ void fb_os_input(struct gui_window *g, bool active)
fb_window_scroll(g, 0, -g->height);
break;
- case SDLK_j:
+ case SDLK_DOWN:
fb_window_scroll(g, 0, 100);
break;
- case SDLK_k:
+ case SDLK_UP:
fb_window_scroll(g, 0, -100);
break;
- case SDLK_q:
+ case SDLK_ESCAPE:
browser_window_destroy(g->bw);
break;
- case SDLK_b:
+ case SDLK_LEFT:
if (history_back_available(g->bw->history))
history_back(g->bw, g->bw->history);
break;
- case SDLK_f:
+ case SDLK_RIGHT:
if (history_forward_available(g->bw->history))
history_forward(g->bw, g->bw->history);
break;
@@ -133,6 +133,7 @@ void fb_os_input(struct gui_window *g, bool active)
default:
printf("The %s key was pressed!\n",
SDL_GetKeyName(event.key.keysym.sym));
+ fb_rootwindow_input(g, event.key.keysym.sym);
break;
}
break;
@@ -147,15 +148,13 @@ void fb_os_input(struct gui_window *g, bool active)
switch (event.button.button) {
case SDL_BUTTON_LEFT:
- fb_rootwindow_click(g,
- BROWSER_MOUSE_CLICK_1,
+ fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_1,
fb_cursor_x(framebuffer),
fb_cursor_y(framebuffer));
break;
case SDL_BUTTON_RIGHT:
- fb_rootwindow_click(g,
- BROWSER_MOUSE_CLICK_2,
+ fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_2,
fb_cursor_x(framebuffer),
fb_cursor_y(framebuffer));
break;
@@ -176,6 +175,28 @@ void fb_os_input(struct gui_window *g, bool active)
}
break;
+ case SDL_MOUSEBUTTONUP:
+ switch (event.button.button) {
+
+ case SDL_BUTTON_LEFT:
+ fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_1,
+ fb_cursor_x(framebuffer),
+ fb_cursor_y(framebuffer));
+ break;
+
+ case SDL_BUTTON_RIGHT:
+ fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_2,
+ fb_cursor_x(framebuffer),
+ fb_cursor_y(framebuffer));
+ break;
+
+ default:
+ printf("Mouse button %d pressed at (%d,%d)\n",
+ event.button.button, event.button.x, event.button.y);
+
+ }
+ break;
+
case SDL_QUIT:
browser_window_destroy(g->bw);
}