From 1c290c6f000237e4f149a23f17dcca9a06e1f25e Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 1 Aug 2014 05:34:05 +0200 Subject: [PATCH] (Udev) Implement mouse wheel up/down (using BTN_FORWARD/BTN_BACK) - figure out why it still doesn't work with libretro-test --- input/udev_input.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/input/udev_input.c b/input/udev_input.c index 475018c73a..0cc9a012d7 100644 --- a/input/udev_input.c +++ b/input/udev_input.c @@ -232,7 +232,7 @@ static void udev_handle_mouse(udev_input_t *udev, const struct input_event *even switch (event->type) { case EV_KEY: - /* TODO: mouse wheel up/down */ + /* TODO: mouse wheel up/down doesn't work */ switch (event->code) { case BTN_LEFT: @@ -246,6 +246,12 @@ static void udev_handle_mouse(udev_input_t *udev, const struct input_event *even case BTN_MIDDLE: udev->mouse_m = event->value; break; + case BTN_FORWARD: + udev->mouse_wu = event->value; + break; + case BTN_BACK: + udev->mouse_wd = event->value; + break; default: break; } @@ -453,6 +459,10 @@ static int16_t udev_mouse_state(udev_input_t *udev, unsigned id) return udev->mouse_r; case RETRO_DEVICE_ID_MOUSE_MIDDLE: return udev->mouse_m; + case RETRO_DEVICE_ID_MOUSE_WHEELUP: + return udev->mouse_wu; + case RETRO_DEVICE_ID_MOUSE_WHEELDOWN: + return udev->mouse_wd; default: return 0; }