This commit is contained in:
twinaphex 2020-09-02 01:22:34 +02:00
parent 2fde8c21a9
commit 55378ae9cc
7 changed files with 48 additions and 48 deletions

View File

@ -74,8 +74,6 @@ static int16_t ctr_input_state(
static void ctr_input_free_input(void *data) static void ctr_input_free_input(void *data)
{ {
ctr_input_t *ctr = (ctr_input_t*)data;
free(data); free(data);
} }

View File

@ -205,11 +205,7 @@ static void linuxraw_input_poll(void *data)
static uint64_t linuxraw_get_capabilities(void *data) static uint64_t linuxraw_get_capabilities(void *data)
{ {
uint64_t caps = 0; return (1 << RETRO_DEVICE_JOYPAD) | (1 << RETRO_DEVICE_ANALOG);
caps |= (1 << RETRO_DEVICE_JOYPAD);
caps |= (1 << RETRO_DEVICE_ANALOG);
return caps;
} }
input_driver_t input_linuxraw = { input_driver_t input_linuxraw = {

View File

@ -266,7 +266,7 @@ static int16_t ps3_input_state(
case RETRO_DEVICE_ANALOG: case RETRO_DEVICE_ANALOG:
break; break;
case RETRO_DEVICE_KEYBOARD: case RETRO_DEVICE_KEYBOARD:
return (psl1ght_keyboard_port_input_pressed(ps3, id)); return psl1ght_keyboard_port_input_pressed(ps3, id);
} }
return 0; return 0;

View File

@ -598,7 +598,8 @@ static void rwebinput_input_free(void *data)
emscripten_html5_remove_all_event_listeners(); emscripten_html5_remove_all_event_listeners();
free(rwebinput->keyboard.events); free(rwebinput->keyboard.events);
free(rwebinput);
free(data);
} }
static void rwebinput_process_keyboard_events( static void rwebinput_process_keyboard_events(

View File

@ -41,12 +41,7 @@ static void uwp_input_poll(void *data)
static void uwp_input_free_input(void *data) static void uwp_input_free_input(void *data)
{ {
uwp_input_t *uwp = (uwp_input_t*)data; free(data);
if (!uwp)
return;
free(uwp);
} }
static void *uwp_input_init(const char *joypad_driver) static void *uwp_input_init(const char *joypad_driver)

View File

@ -50,6 +50,8 @@ static bool g_mouse_xy_mapping_ready = false;
static double g_view_abs_ratio_x = 0.0; static double g_view_abs_ratio_x = 0.0;
static double g_view_abs_ratio_y = 0.0; static double g_view_abs_ratio_y = 0.0;
#define WINRAW_KEYBOARD_PRESSED(wr, key) (wr->keyboard.keys[rarch_keysym_lut[(enum retro_key)(key)]])
static HWND winraw_create_window(WNDPROC wnd_proc) static HWND winraw_create_window(WNDPROC wnd_proc)
{ {
HWND wnd; HWND wnd;
@ -84,12 +86,14 @@ static void winraw_destroy_window(HWND wnd)
if (!DestroyWindow(wnd)) if (!DestroyWindow(wnd))
{ {
RARCH_WARN("[WINRAW]: DestroyWindow failed with error %lu.\n", GetLastError()); RARCH_WARN("[WINRAW]: DestroyWindow failed with error %lu.\n",
GetLastError());
} }
if (!UnregisterClassA("winraw-input", NULL)) if (!UnregisterClassA("winraw-input", NULL))
{ {
RARCH_WARN("[WINRAW]: UnregisterClassA failed with error %lu.\n", GetLastError()); RARCH_WARN("[WINRAW]: UnregisterClassA failed with error %lu.\n",
GetLastError());
} }
} }
@ -181,7 +185,7 @@ static bool winraw_init_devices(winraw_mouse_t **mice, unsigned *mouse_cnt)
error: error:
free(devs); free(devs);
free(mice_r); free(mice_r);
*mice = NULL; *mice = NULL;
*mouse_cnt = 0; *mouse_cnt = 0;
return false; return false;
} }
@ -261,26 +265,38 @@ static int16_t winraw_mouse_state(
case RETRO_DEVICE_ID_MOUSE_Y: case RETRO_DEVICE_ID_MOUSE_Y:
return abs ? mouse->y : mouse->dlt_y; return abs ? mouse->y : mouse->dlt_y;
case RETRO_DEVICE_ID_MOUSE_LEFT: case RETRO_DEVICE_ID_MOUSE_LEFT:
return mouse->btn_l ? 1 : 0; if (mouse->btn_l)
return 1;
break;
case RETRO_DEVICE_ID_MOUSE_RIGHT: case RETRO_DEVICE_ID_MOUSE_RIGHT:
return mouse->btn_r ? 1 : 0; if (mouse->btn_r)
return 1;
break;
case RETRO_DEVICE_ID_MOUSE_WHEELUP: case RETRO_DEVICE_ID_MOUSE_WHEELUP:
return mouse->whl_u ? 1 : 0; if (mouse->whl_u)
return 1;
break;
case RETRO_DEVICE_ID_MOUSE_WHEELDOWN: case RETRO_DEVICE_ID_MOUSE_WHEELDOWN:
return mouse->whl_d ? 1 : 0; if (mouse->whl_d)
return 1;
break;
case RETRO_DEVICE_ID_MOUSE_MIDDLE: case RETRO_DEVICE_ID_MOUSE_MIDDLE:
return mouse->btn_m ? 1 : 0; if (mouse->btn_m)
return 1;
break;
case RETRO_DEVICE_ID_MOUSE_BUTTON_4: case RETRO_DEVICE_ID_MOUSE_BUTTON_4:
return mouse->btn_b4 ? 1 : 0; if (mouse->btn_b4)
return 1;
break;
case RETRO_DEVICE_ID_MOUSE_BUTTON_5: case RETRO_DEVICE_ID_MOUSE_BUTTON_5:
return mouse->btn_b5 ? 1 : 0; if (mouse->btn_b5)
return 1;
break;
} }
return 0; return 0;
} }
#define winraw_keyboard_pressed(wr, key) (wr->keyboard.keys[rarch_keysym_lut[(enum retro_key)(key)]])
static bool winraw_mouse_button_pressed( static bool winraw_mouse_button_pressed(
winraw_input_t *wr, winraw_input_t *wr,
winraw_mouse_t *mouse, winraw_mouse_t *mouse,
@ -310,14 +326,12 @@ static bool winraw_mouse_button_pressed(
static void winraw_init_mouse_xy_mapping(void) static void winraw_init_mouse_xy_mapping(void)
{ {
struct video_viewport viewport; struct video_viewport viewport;
int center_x;
int center_y;
unsigned i;
if (video_driver_get_viewport_info(&viewport)) if (video_driver_get_viewport_info(&viewport))
{ {
center_x = viewport.x + viewport.width / 2; unsigned i;
center_y = viewport.y + viewport.height / 2; int center_x = viewport.x + viewport.width / 2;
int center_y = viewport.y + viewport.height / 2;
for (i = 0; i < g_mouse_cnt; ++i) for (i = 0; i < g_mouse_cnt; ++i)
{ {
@ -550,7 +564,7 @@ static int16_t winraw_input_lightgun_state(
{ {
if (!keyboard_mapping_blocked) if (!keyboard_mapping_blocked)
if ((binds[port][id].key < RETROK_LAST) if ((binds[port][id].key < RETROK_LAST)
&& winraw_keyboard_pressed(wr, binds[port] && WINRAW_KEYBOARD_PRESSED(wr, binds[port]
[id].key)) [id].key))
return 1; return 1;
if (binds[port][id].valid) if (binds[port][id].valid)
@ -633,7 +647,7 @@ static int16_t winraw_input_state(
if (binds[port][i].valid) if (binds[port][i].valid)
{ {
if ((binds[port][i].key < RETROK_LAST) && if ((binds[port][i].key < RETROK_LAST) &&
winraw_keyboard_pressed(wr, binds[port][i].key)) WINRAW_KEYBOARD_PRESSED(wr, binds[port][i].key))
ret |= (1 << i); ret |= (1 << i);
} }
} }
@ -653,7 +667,7 @@ static int16_t winraw_input_state(
return 1; return 1;
else if ( else if (
(binds[port][id].key < RETROK_LAST) (binds[port][id].key < RETROK_LAST)
&& winraw_keyboard_pressed(wr, binds[port][id].key) && WINRAW_KEYBOARD_PRESSED(wr, binds[port][id].key)
&& (( id == RARCH_GAME_FOCUS_TOGGLE) && (( id == RARCH_GAME_FOCUS_TOGGLE)
|| !keyboard_mapping_blocked) || !keyboard_mapping_blocked)
) )
@ -668,7 +682,7 @@ static int16_t winraw_input_state(
case RETRO_DEVICE_ANALOG: case RETRO_DEVICE_ANALOG:
break; break;
case RETRO_DEVICE_KEYBOARD: case RETRO_DEVICE_KEYBOARD:
return (id < RETROK_LAST) && winraw_keyboard_pressed(wr, id); return (id < RETROK_LAST) && WINRAW_KEYBOARD_PRESSED(wr, id);
case RETRO_DEVICE_MOUSE: case RETRO_DEVICE_MOUSE:
case RARCH_DEVICE_MOUSE_SCREEN: case RARCH_DEVICE_MOUSE_SCREEN:
if (mouse) if (mouse)
@ -780,9 +794,9 @@ static int16_t winraw_input_state(
return 0; return 0;
} }
static void winraw_free(void *d) static void winraw_free(void *data)
{ {
winraw_input_t *wr = (winraw_input_t*)d; winraw_input_t *wr = (winraw_input_t*)data;
winraw_set_mouse_input(NULL, false); winraw_set_mouse_input(NULL, false);
winraw_set_keyboard_input(NULL); winraw_set_keyboard_input(NULL);
@ -790,17 +804,18 @@ static void winraw_free(void *d)
free(g_mice); free(g_mice);
free(g_keyboard); free(g_keyboard);
free(wr->mice); free(wr->mice);
free(wr);
g_mouse_xy_mapping_ready = false; g_mouse_xy_mapping_ready = false;
free(data);
} }
static uint64_t winraw_get_capabilities(void *u) static uint64_t winraw_get_capabilities(void *u)
{ {
return (1 << RETRO_DEVICE_KEYBOARD) | return (1 << RETRO_DEVICE_KEYBOARD) |
(1 << RETRO_DEVICE_MOUSE) | (1 << RETRO_DEVICE_MOUSE) |
(1 << RETRO_DEVICE_JOYPAD) | (1 << RETRO_DEVICE_JOYPAD) |
(1 << RETRO_DEVICE_ANALOG) | (1 << RETRO_DEVICE_ANALOG) |
(1 << RETRO_DEVICE_LIGHTGUN); (1 << RETRO_DEVICE_LIGHTGUN);
} }

View File

@ -79,12 +79,7 @@ static int16_t xdk_input_state(
static void xdk_input_free_input(void *data) static void xdk_input_free_input(void *data)
{ {
xdk_input_t *xdk = (xdk_input_t*)data; free(data);
if (!xdk)
return;
free(xdk);
} }
static void *xdk_input_init(const char *joypad_driver) static void *xdk_input_init(const char *joypad_driver)