Browse Source

Merge pull request #55997 from slouken/3.x-fix-switch-controller-event-spam

[3.x] Fixed event spam when using the Nintendo Switch controller
Rémi Verschelde 3 years ago
parent
commit
b61a93d86f
1 changed files with 4 additions and 1 deletions
  1. 4 1
      main/input_default.cpp

+ 4 - 1
main/input_default.cpp

@@ -811,7 +811,10 @@ void InputDefault::joy_axis(int p_device, int p_axis, const JoyAxis &p_value) {
 
 
 	Joypad &joy = joy_names[p_device];
 	Joypad &joy = joy_names[p_device];
 
 
-	if (joy.last_axis[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[p_axis] - p_value.value) < MIN_AXIS_CHANGE) {
 		return;
 		return;
 	}
 	}