Closed connorjclark closed 2 years ago
If this is the right fix, I suppose the same thing should be done for position w.
Since the mouse driver system doesn't have functions for updating the mouse z and w position, we'll have to settle for updating these positions directly. Thanks for that fix.
I've noticed this behavior in an application using allegro-legacy: if you scroll the mouse wheel (any amount) without moving the mouse cursor everything seems to work as expected. But, when you stop scrolling and then just move your mouse, it seems the movement of the mouse emits additional wheel events in the same direction as the last wheel scroll.
I found that adding
al_set_mouse_z(z);
toposition_mouse_z
fixed the issue for me. the a4 program sets the z position to 0 after reading the value (to reset it), but the handling ofALLEGRO_EVENT_MOUSE_AXES
(a5_mouse.c) undoes this because a5 state doesn't get updated.