Properly fix serial mouse wheel.

This commit is contained in:
OBattler
2023-08-26 23:22:56 +02:00
parent 41079a4505
commit 42ea22e569

View File

@@ -381,12 +381,7 @@ sermouse_report(mouse_t *dev)
static void static void
sermouse_transmit_report(mouse_t *dev, int from_report) sermouse_transmit_report(mouse_t *dev, int from_report)
{ {
int changed = mouse_state_changed(); if (mouse_capture && mouse_state_changed())
if (dev->but == 4)
changed |= mouse_wheel_moved();
if (mouse_capture && changed)
sermouse_transmit(dev, sermouse_report(dev), from_report, 1); sermouse_transmit(dev, sermouse_report(dev), from_report, 1);
else { else {
if (dev->prompt || dev->continuous) if (dev->prompt || dev->continuous)
@@ -912,7 +907,7 @@ sermouse_init(const device_t *info)
sermouse_set_period(dev, 5000000.0); sermouse_set_period(dev, 5000000.0);
/* Tell them how many buttons we have. */ /* Tell them how many buttons we have. */
mouse_set_buttons((dev->flags & FLAG_3BTN) ? 3 : 2); mouse_set_buttons(dev->but);
/* Return our private data to the I/O layer. */ /* Return our private data to the I/O layer. */
return dev; return dev;