summaryrefslogtreecommitdiff
path: root/framebuffer/fb_frontend_vnc.c
diff options
context:
space:
mode:
Diffstat (limited to 'framebuffer/fb_frontend_vnc.c')
-rw-r--r--framebuffer/fb_frontend_vnc.c202
1 files changed, 33 insertions, 169 deletions
diff --git a/framebuffer/fb_frontend_vnc.c b/framebuffer/fb_frontend_vnc.c
index f7ee89151..837cddaaf 100644
--- a/framebuffer/fb_frontend_vnc.c
+++ b/framebuffer/fb_frontend_vnc.c
@@ -32,130 +32,100 @@
#include "desktop/options.h"
#include "utils/messages.h"
#include "desktop/history_core.h"
+#include "desktop/textinput.h"
#include "framebuffer/fb_gui.h"
+#include "framebuffer/fb_tk.h"
#include "framebuffer/fb_plotters.h"
#include "framebuffer/fb_frontend.h"
#include "framebuffer/fb_cursor.h"
-#include "framebuffer/fb_rootwindow.h"
#include "framebuffer/fb_options.h"
#include "utils/log.h"
static rfbScreenInfoPtr vnc_screen;
-static struct gui_window *cur_window;
+static fbtk_widget_t *vncroot;
static void fb_vnc_doptr(int buttonMask,int x,int y,rfbClientPtr cl)
{
- struct gui_window *g = cur_window;
if (buttonMask == 0) {
- fb_rootwindow_move(framebuffer, g, x, y, false);
+ fbtk_move_pointer(vncroot, x, y, false);
} else {
/* left button */
- /* if (buttonMask && 0x1) {
- fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_1,
- fb_cursor_x(framebuffer),
- fb_cursor_y(framebuffer));
- }*/
if (buttonMask && 0x1) {
- fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_1,
- fb_cursor_x(framebuffer),
- fb_cursor_y(framebuffer));
+ fbtk_click(vncroot, BROWSER_MOUSE_CLICK_1);
}
/* right button */
- /*if (buttonMask && 0x4) {
- fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_2,
- fb_cursor_x(framebuffer),
- fb_cursor_y(framebuffer));
- }*/
if (buttonMask && 0x4) {
- fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_2,
- fb_cursor_x(framebuffer),
- fb_cursor_y(framebuffer));
+ fbtk_click(vncroot, BROWSER_MOUSE_CLICK_2);
}
if (buttonMask && 0x8) {
/* wheelup */
- fb_window_scroll(g, 0, -100);
+ fbtk_input(vncroot, KEY_UP);
}
if (buttonMask && 0x10) {
/* wheeldown */
- fb_window_scroll(g, 0, 100);
+ fbtk_input(vncroot, KEY_DOWN);
}
-
-
-
- /*
- 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;
- */
}
}
-static void fb_vnc_dokey(rfbBool down,rfbKeySym key,rfbClientPtr cl)
+
+static void fb_vnc_dokey(rfbBool down, rfbKeySym key, rfbClientPtr cl)
{
- struct gui_window *g = cur_window;
+ int nskey;
LOG(("Processing keycode %d",key));
- if(down) {
+ if (down) {
switch (key) {
case XK_Page_Down:
- fb_window_scroll(g, 0, g->height);
+ nskey = KEY_PAGE_DOWN;
break;
case XK_Page_Up:
- fb_window_scroll(g, 0, -g->height);
+ nskey = KEY_PAGE_UP;
break;
case XK_Down:
- fb_window_scroll(g, 0, 100);
+ nskey = KEY_DOWN;
break;
case XK_Up:
- fb_window_scroll(g, 0, -100);
+ nskey = KEY_UP;
break;
case XK_Escape:
- browser_window_destroy(g->bw);
+ nskey = 27;
break;
case XK_Left:
- if (history_back_available(g->bw->history))
- history_back(g->bw, g->bw->history);
+ nskey = KEY_LEFT;
break;
case XK_Right:
- if (history_forward_available(g->bw->history))
- history_forward(g->bw, g->bw->history);
+ nskey = KEY_RIGHT;
+ break;
+
+ case XK_BackSpace:
+ nskey = 8;
+ break;
+
+ case XK_Return:
+ nskey = 13;
break;
default:
- fb_rootwindow_input(g, key);
+ nskey = key;
break;
}
+
+ fbtk_input(vncroot, nskey);
+
}
}
@@ -232,120 +202,14 @@ void fb_os_quit(framebuffer_t *fb)
{
}
-void fb_os_input(struct gui_window *g, bool active)
+void fb_os_input(fbtk_widget_t *root, bool active)
{
- //SDL_Event event;
- cur_window = g;
+ vncroot = root;
if (active)
rfbProcessEvents(vnc_screen, 10000);
else
rfbProcessEvents(vnc_screen, 100000);
- /*
- switch (event.type) {
- case SDL_KEYDOWN:
-
- switch (event.key.keysym.sym) {
-
- case SDLK_PAGEDOWN:
- fb_window_scroll(g, 0, g->height);
- break;
-
- case SDLK_PAGEUP:
- fb_window_scroll(g, 0, -g->height);
- break;
-
- case SDLK_DOWN:
- fb_window_scroll(g, 0, 100);
- break;
-
- case SDLK_UP:
- fb_window_scroll(g, 0, -100);
- break;
-
- case SDLK_ESCAPE:
- browser_window_destroy(g->bw);
- break;
-
- case SDLK_LEFT:
- if (history_back_available(g->bw->history))
- history_back(g->bw, g->bw->history);
- break;
-
- case SDLK_RIGHT:
- if (history_forward_available(g->bw->history))
- history_forward(g->bw, g->bw->history);
- break;
-
- default:
- printf("The %s key was pressed!\n",
- SDL_GetKeyName(event.key.keysym.sym));
- fb_rootwindow_input(g, event.key.keysym.sym);
- break;
- }
- break;
-
- case SDL_MOUSEMOTION:
- fb_rootwindow_move(framebuffer, g, event.motion.x, event.motion.y, false);
- break;
-
- case SDL_MOUSEBUTTONDOWN:
- switch (event.button.button) {
-
- case SDL_BUTTON_LEFT:
- 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_PRESS_2,
- fb_cursor_x(framebuffer),
- fb_cursor_y(framebuffer));
- break;
-
- case SDL_BUTTON_WHEELUP:
- fb_window_scroll(g, 0, -100);
- break;
-
- case SDL_BUTTON_WHEELDOWN:
- fb_window_scroll(g, 0, 100);
- break;
-
- case SDL_BUTTON_MIDDLE:
- default:
- printf("Mouse button %d pressed at (%d,%d)\n",
- event.button.button, event.button.x, event.button.y);
-
- }
- 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);
- }
- */
}
void