diff --git a/menu/menu_entries_cbs_iterate.c b/menu/menu_entries_cbs_iterate.c index 95559dc175..7c05c28e2d 100644 --- a/menu/menu_entries_cbs_iterate.c +++ b/menu/menu_entries_cbs_iterate.c @@ -162,6 +162,10 @@ static int mouse_post_iterate(menu_file_list_cbs_t *cbs, const char *path, if (!menu->mouse.enable) return 0; + if (menu->mouse.ptr >= 0 + && menu->mouse.ptr <= menu_list_get_size(menu->menu_list)-1) + menu_navigation_set(&menu->navigation, menu->mouse.ptr, false); + if (menu->mouse.left) { if (!menu->mouse.oldleft) @@ -558,6 +562,9 @@ static int mouse_iterate(unsigned action) menu->mouse.dy = driver.input->input_state(driver.input_data, binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y); + if (menu->mouse.dx != 0 || menu->mouse.dy !=0) + g_runloop.frames.video.current.menu.animation.is_active = true; + menu->mouse.x += menu->mouse.dx; menu->mouse.y += menu->mouse.dy; @@ -576,13 +583,8 @@ static int mouse_iterate(unsigned action) menu->mouse.right = driver.input->input_state(driver.input_data, binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_RIGHT); - menu->mouse.wheelup = driver.input->input_state(driver.input_data, - binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_WHEELUP) - || menu->mouse.y == 5; - - menu->mouse.wheeldown = driver.input->input_state(driver.input_data, - binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_WHEELDOWN) - || menu->mouse.y == menu->frame_buf.height - 5; + menu->mouse.wheelup = menu->mouse.y == 5; + menu->mouse.wheeldown = menu->mouse.y == menu->frame_buf.height - 5; return 0; }