diff --git a/core/input/input.cpp b/core/input/input.cpp index 3dfe73ab8ea..9a6a2a2e158 100644 --- a/core/input/input.cpp +++ b/core/input/input.cpp @@ -922,7 +922,10 @@ void Input::joy_axis(int p_device, JoyAxis p_axis, const JoyAxisValue &p_value) Joypad &joy = joy_names[p_device]; - if (joy.last_axis[(size_t)p_axis] == p_value.value) { + // Make sure that we don't generate events for up to 5% jitter + // This is needed for Nintendo Switch Pro controllers, which jitter at rest + const float MIN_AXIS_CHANGE = 0.05f; + if (fabs(joy.last_axis[(size_t)p_axis] - p_value.value) < MIN_AXIS_CHANGE) { return; }