Browse Source

Fixed WGI immediately being correlated with raw input devices with no input

The at rest match state is 0x0000008800000000, not 0

(cherry picked from commit e8b5b4881c8eb31bb7de5adef3479305a73fb0bf)
Sam Lantinga 1 year ago
parent
commit
9c05098ed9
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/joystick/windows/SDL_rawinputjoystick.c

+ 1 - 0
src/joystick/windows/SDL_rawinputjoystick.c

@@ -1080,6 +1080,7 @@ static int RAWINPUT_JoystickOpen(SDL_Joystick *joystick, int device_index)
 
     ctx->is_xinput = device->is_xinput;
     ctx->is_xboxone = device->is_xboxone;
+    ctx->match_state = 0x0000008800000000ULL; /* Trigger axes at rest */
     ctx->preparsed_data = device->preparsed_data;
     ctx->max_data_length = SDL_HidP_MaxDataListLength(HidP_Input, ctx->preparsed_data);
     ctx->data = (HIDP_DATA *)SDL_malloc(ctx->max_data_length * sizeof(*ctx->data));