From 5b8f830e342b296d255969bbaec5a1a3522f1083 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sat, 22 Oct 2022 09:24:28 -0700
Subject: [PATCH] Virtual joysticks don't need initial axis jitter protection
Fixes https://github.com/libsdl-org/SDL/issues/6426
---
src/joystick/SDL_joystick.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c
index cc29a72d8aa2..5561afcd17fc 100644
--- a/src/joystick/SDL_joystick.c
+++ b/src/joystick/SDL_joystick.c
@@ -1530,7 +1530,8 @@ SDL_PrivateJoystickAxis(SDL_Joystick *joystick, Uint8 axis, Sint16 value)
if (!info->sent_initial_value) {
/* Make sure we don't send motion until there's real activity on this axis */
const int MAX_ALLOWED_JITTER = SDL_JOYSTICK_AXIS_MAX / 80; /* ShanWan PS3 controller needed 96 */
- if (SDL_abs(value - info->value) <= MAX_ALLOWED_JITTER) {
+ if (SDL_abs(value - info->value) <= MAX_ALLOWED_JITTER &&
+ !SDL_IsJoystickVirtual(joystick->guid)) {
return 0;
}
info->sent_initial_value = SDL_TRUE;