summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-23 10:24:41 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-23 10:24:41 +0100
commit84c081945f5b7a86c466af2c82b6405b367caa8f (patch)
treec3134772eb716b2b3a450374cc395a15a6de112c
parent3a228ef224769793b301062e3ff6c0aed90df845 (diff)
parente9400867b3aff74ef0b4d3ba3a7b9f3efc357bfc (diff)
Merge pull request #71784 from PrecisionRender/fix-xbox-input
Fix Xbox Series controller detected as 2 devices
-rw-r--r--platform/windows/joypad_windows.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/platform/windows/joypad_windows.cpp b/platform/windows/joypad_windows.cpp
index 183958cf40..7ae26e6cf4 100644
--- a/platform/windows/joypad_windows.cpp
+++ b/platform/windows/joypad_windows.cpp
@@ -101,10 +101,12 @@ bool JoypadWindows::is_xinput_device(const GUID *p_guid) {
static GUID IID_ValveStreamingGamepad = { MAKELONG(0x28DE, 0x11FF), 0x28DE, 0x0000, { 0x00, 0x00, 0x50, 0x49, 0x44, 0x56, 0x49, 0x44 } };
static GUID IID_X360WiredGamepad = { MAKELONG(0x045E, 0x02A1), 0x0000, 0x0000, { 0x00, 0x00, 0x50, 0x49, 0x44, 0x56, 0x49, 0x44 } };
static GUID IID_X360WirelessGamepad = { MAKELONG(0x045E, 0x028E), 0x0000, 0x0000, { 0x00, 0x00, 0x50, 0x49, 0x44, 0x56, 0x49, 0x44 } };
+ static GUID IID_XSWirelessGamepad = { MAKELONG(0x045E, 0x0B13), 0x0000, 0x0000, { 0x00, 0x00, 0x50, 0x49, 0x44, 0x56, 0x49, 0x44 } };
if (memcmp(p_guid, &IID_ValveStreamingGamepad, sizeof(*p_guid)) == 0 ||
memcmp(p_guid, &IID_X360WiredGamepad, sizeof(*p_guid)) == 0 ||
- memcmp(p_guid, &IID_X360WirelessGamepad, sizeof(*p_guid)) == 0)
+ memcmp(p_guid, &IID_X360WirelessGamepad, sizeof(*p_guid)) == 0 ||
+ memcmp(p_guid, &IID_XSWirelessGamepad, sizeof(*p_guid)) == 0)
return true;
PRAWINPUTDEVICELIST dev_list = nullptr;