diff --git a/src/xenia/hid/sdl/sdl_input_driver.cc b/src/xenia/hid/sdl/sdl_input_driver.cc index 051dc7210..50341a7ad 100644 --- a/src/xenia/hid/sdl/sdl_input_driver.cc +++ b/src/xenia/hid/sdl/sdl_input_driver.cc @@ -226,11 +226,9 @@ X_RESULT SDLInputDriver::GetState(uint32_t user_index, return X_ERROR_DEVICE_NOT_CONNECTED; } - // Make sure packet_number is only incremented by 1, even if there have been - // multiple updates between GetState calls. Also track `is_active` to - // increment the packet number if it changed. - if (controller->is_active || controller->state_changed) { + if (controller->state_changed) { controller->state.packet_number++; + controller->state_changed = false; } std::memcpy(out_state, &controller->state, sizeof(*out_state)); return X_ERROR_SUCCESS; diff --git a/src/xenia/hid/sdl/sdl_input_driver.h b/src/xenia/hid/sdl/sdl_input_driver.h index 462374d82..db1dc3bc1 100644 --- a/src/xenia/hid/sdl/sdl_input_driver.h +++ b/src/xenia/hid/sdl/sdl_input_driver.h @@ -52,7 +52,6 @@ class SDLInputDriver final : public InputDriver { X_INPUT_CAPABILITIES caps; X_INPUT_STATE state; bool state_changed; - bool is_active; }; enum class RepeatState {