From 0d5ffda3d32f413509126e2bbeab541844768c90 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Mon, 6 Nov 2023 21:43:25 +1000 Subject: [PATCH] DInputSource: Backport button/hat max from PCSX2 --- src/util/dinput_source.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/dinput_source.cpp b/src/util/dinput_source.cpp index 72af7075a..7a89c5372 100644 --- a/src/util/dinput_source.cpp +++ b/src/util/dinput_source.cpp @@ -228,7 +228,8 @@ bool DInputSource::AddDevice(ControllerData& cd, const std::string& name) cd.axis_offsets.push_back(offset); } - cd.num_hats = caps.dwPOVs; + cd.num_buttons = std::min(static_cast(caps.dwButtons), static_cast(std::size(cd.last_state.rgbButtons))); + cd.num_hats = std::min(static_cast(caps.dwPOVs), static_cast(std::size(cd.last_state.rgdwPOV))); hr = cd.device->Poll(); if (hr == DI_NOEFFECT)