From 666c6849b74d113d470a15e6710b585317101110 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 8 Oct 2015 09:52:31 +0200 Subject: [PATCH] (X11) Add preliminary stab at RARCH_DEVICE_MOUSE_SCREEN --- input/drivers/x11_input.c | 17 +++++++++++++++++ menu/drivers/zarch.c | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/input/drivers/x11_input.c b/input/drivers/x11_input.c index 79fa4cc740..a67a706d64 100644 --- a/input/drivers/x11_input.c +++ b/input/drivers/x11_input.c @@ -304,6 +304,21 @@ static int16_t x_mouse_state(x11_input_t *x11, unsigned id) return 0; } +static int16_t x_mouse_state_screen(x11_input_t *x11, unsigned id) +{ + switch (id) + { + case RETRO_DEVICE_ID_MOUSE_X: + return x11->mouse_x; + case RETRO_DEVICE_ID_MOUSE_Y: + return x11->mouse_y; + default: + break; + } + + return x_mouse_state(x11, id); +} + static int16_t x_pointer_state(x11_input_t *x11, unsigned idx, unsigned id, bool screen) { @@ -391,6 +406,8 @@ static int16_t x_input_state(void *data, case RETRO_DEVICE_MOUSE: return x_mouse_state(x11, id); + case RARCH_DEVICE_MOUSE_SCREEN: + return x_mouse_state_screen(x11, id); case RETRO_DEVICE_POINTER: case RARCH_DEVICE_POINTER_SCREEN: diff --git a/menu/drivers/zarch.c b/menu/drivers/zarch.c index e567b0d05a..7ab3dcfd68 100644 --- a/menu/drivers/zarch.c +++ b/menu/drivers/zarch.c @@ -248,11 +248,16 @@ static void zui_begin(void) zui->mouse.wheel = input_driver_state(binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_WHEELDOWN) - input_driver_state(binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_WHEELUP); +#if 0 + zui->mouse.x = input_driver_state(binds, 0, RARCH_DEVICE_MOUSE_SCREEN, 0, RETRO_DEVICE_ID_MOUSE_X); + zui->mouse.y = input_driver_state(binds, 0, RARCH_DEVICE_MOUSE_SCREEN, 0, RETRO_DEVICE_ID_MOUSE_Y); +#else dx = input_driver_state(binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_X); dy = input_driver_state(binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y); zui->mouse.x += dx; zui->mouse.y += dy; +#endif zui->ca.coords.vertices = 0;