diff --git a/src/frontend-common/xinput_controller_interface.cpp b/src/frontend-common/xinput_controller_interface.cpp index 92866fd72..2833db177 100644 --- a/src/frontend-common/xinput_controller_interface.cpp +++ b/src/frontend-common/xinput_controller_interface.cpp @@ -39,11 +39,9 @@ bool XInputControllerInterface::Initialize(CommonHostInterface* host_interface) reinterpret_cast(GetProcAddress(m_xinput_module, reinterpret_cast(100))); if (!m_xinput_get_state) reinterpret_cast(GetProcAddress(m_xinput_module, "XInputGetState")); - m_xinput_get_capabilities = - reinterpret_cast(GetProcAddress(m_xinput_module, "XInputGetCapabilities")); m_xinput_set_state = reinterpret_cast(GetProcAddress(m_xinput_module, "XInputSetState")); - if (!m_xinput_get_state || !m_xinput_get_capabilities || !m_xinput_set_state) + if (!m_xinput_get_state || !m_xinput_set_state) { Log_ErrorPrintf("Failed to get XInput function pointers."); return false; @@ -72,7 +70,6 @@ void XInputControllerInterface::PollEvents() if (!cd.connected) { cd.connected = true; - UpdateCapabilities(i); OnControllerConnected(static_cast(i)); } @@ -155,17 +152,6 @@ void XInputControllerInterface::CheckForStateChanges(u32 index, const XINPUT_STA } } -void XInputControllerInterface::UpdateCapabilities(u32 index) -{ - ControllerData& cd = m_controllers[index]; - - XINPUT_CAPABILITIES caps = {}; - m_xinput_get_capabilities(index, 0, &caps); - cd.supports_rumble = (caps.Flags & 0x0001 /* XINPUT_CAPS_FFB_SUPPORTED */); - - Log_InfoPrintf("Controller %u: Rumble is %s", index, cd.supports_rumble ? "supported" : "not supported"); -} - void XInputControllerInterface::ClearBindings() { for (auto& it : m_controllers) @@ -277,7 +263,7 @@ u32 XInputControllerInterface::GetControllerRumbleMotorCount(int controller_inde if (static_cast(controller_index) >= XUSER_MAX_COUNT || !m_controllers[controller_index].connected) return 0; - return m_controllers[controller_index].supports_rumble ? NUM_RUMBLE_MOTORS : 0; + return NUM_RUMBLE_MOTORS; } void XInputControllerInterface::SetControllerRumbleStrength(int controller_index, const float* strengths, diff --git a/src/frontend-common/xinput_controller_interface.h b/src/frontend-common/xinput_controller_interface.h index 5949922e6..5d02e1262 100644 --- a/src/frontend-common/xinput_controller_interface.h +++ b/src/frontend-common/xinput_controller_interface.h @@ -60,7 +60,6 @@ private: { XINPUT_STATE last_state = {}; bool connected = false; - bool supports_rumble = false; // Scaling value of 1.30f to 1.40f recommended when using recent controllers float axis_scale = 1.00f; @@ -74,7 +73,6 @@ private: using ControllerDataArray = std::array; void CheckForStateChanges(u32 index, const XINPUT_STATE& new_state); - void UpdateCapabilities(u32 index); bool HandleAxisEvent(u32 index, Axis axis, s32 value); bool HandleButtonEvent(u32 index, u32 button, bool pressed); @@ -82,7 +80,6 @@ private: HMODULE m_xinput_module{}; DWORD(WINAPI* m_xinput_get_state)(DWORD, XINPUT_STATE*); - DWORD(WINAPI* m_xinput_get_capabilities)(DWORD, DWORD, XINPUT_CAPABILITIES*); DWORD(WINAPI* m_xinput_set_state)(DWORD, XINPUT_VIBRATION*); std::mutex m_event_intercept_mutex; Hook::Callback m_event_intercept_callback;