Skip to content

Commit

Permalink
Fix mouse wheel not working in PLATFORM_RPI or PLATFORM_DRM
Browse files Browse the repository at this point in the history
  • Loading branch information
ubkp committed Jul 23, 2023
1 parent 295e8c2 commit 83bf5f4
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/rcore.c
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,7 @@ typedef struct CoreData {
Vector2 currentWheelMove; // Registers current mouse wheel variation
Vector2 previousWheelMove; // Registers previous mouse wheel variation
#if defined(PLATFORM_RPI) || defined(PLATFORM_DRM)
Vector2 eventWheelMove; // Registers the event mouse wheel variation
// NOTE: currentButtonState[] can't be written directly due to multithreading, app could miss the update
char currentButtonStateEvdev[MAX_MOUSE_BUTTONS]; // Holds the new mouse state for the next polling event to grab
#endif
Expand Down Expand Up @@ -5062,7 +5063,8 @@ void PollInputEvents(void)

// Register previous mouse states
CORE.Input.Mouse.previousWheelMove = CORE.Input.Mouse.currentWheelMove;
CORE.Input.Mouse.currentWheelMove = (Vector2){ 0.0f, 0.0f };
CORE.Input.Mouse.currentWheelMove = CORE.Input.Mouse.eventWheelMove;
CORE.Input.Mouse.eventWheelMove = (Vector2){ 0.0f, 0.0f };
for (int i = 0; i < MAX_MOUSE_BUTTONS; i++)
{
CORE.Input.Mouse.previousButtonState[i] = CORE.Input.Mouse.currentButtonState[i];
Expand Down Expand Up @@ -6677,7 +6679,7 @@ static void *EventThread(void *arg)
gestureUpdate = true;
}

if (event.code == REL_WHEEL) CORE.Input.Mouse.currentWheelMove.y += event.value;
if (event.code == REL_WHEEL) CORE.Input.Mouse.eventWheelMove.y += event.value;
}

// Absolute movement parsing
Expand Down

0 comments on commit 83bf5f4

Please sign in to comment.