(Udev) Implement mouse wheel up/down (using BTN_FORWARD/BTN_BACK) -

figure out why it still doesn't work with libretro-test
This commit is contained in:
twinaphex 2014-08-01 05:34:05 +02:00
parent 9dadfc0b19
commit 1c290c6f00

View File

@ -232,7 +232,7 @@ static void udev_handle_mouse(udev_input_t *udev, const struct input_event *even
switch (event->type) switch (event->type)
{ {
case EV_KEY: case EV_KEY:
/* TODO: mouse wheel up/down */ /* TODO: mouse wheel up/down doesn't work */
switch (event->code) switch (event->code)
{ {
case BTN_LEFT: case BTN_LEFT:
@ -246,6 +246,12 @@ static void udev_handle_mouse(udev_input_t *udev, const struct input_event *even
case BTN_MIDDLE: case BTN_MIDDLE:
udev->mouse_m = event->value; udev->mouse_m = event->value;
break; break;
case BTN_FORWARD:
udev->mouse_wu = event->value;
break;
case BTN_BACK:
udev->mouse_wd = event->value;
break;
default: default:
break; break;
} }
@ -453,6 +459,10 @@ static int16_t udev_mouse_state(udev_input_t *udev, unsigned id)
return udev->mouse_r; return udev->mouse_r;
case RETRO_DEVICE_ID_MOUSE_MIDDLE: case RETRO_DEVICE_ID_MOUSE_MIDDLE:
return udev->mouse_m; 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: default:
return 0; return 0;
} }