summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/InputConfig.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2023-08-01 19:33:52 +0200
committerJosJuice <josjuice@gmail.com>2023-08-01 19:35:55 +0200
commit02b0e287cb3c135fa2cf0cadaf9d0847bbcdf7b9 (patch)
tree59e8adfb006dcc12cd4debc91cf6efd5a962c94a /Source/Core/InputCommon/InputConfig.cpp
parenta912a2c3f57f2e6a9f9e02da1ebd93fcf2bf5e75 (diff)
InputConfig: Update IsControllerControlledByGamepadDevice for Android input overhaul
This only matters for analytics, but still.
Diffstat (limited to 'Source/Core/InputCommon/InputConfig.cpp')
-rw-r--r--Source/Core/InputCommon/InputConfig.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/InputConfig.cpp b/Source/Core/InputCommon/InputConfig.cpp
index 64610ba768..f372fa3c1f 100644
--- a/Source/Core/InputCommon/InputConfig.cpp
+++ b/Source/Core/InputCommon/InputConfig.cpp
@@ -203,11 +203,14 @@ bool InputConfig::IsControllerControlledByGamepadDevice(int index) const
const auto& controller = m_controllers.at(index).get()->GetDefaultDevice();
+ // By default on Android, no device is selected
+ if (controller.source == "")
+ return false;
+
// Filter out anything which obviously not a gamepad
return !((controller.source == "Quartz") // OSX Quartz Keyboard/Mouse
|| (controller.source == "XInput2") // Linux and BSD Keyboard/Mouse
- || (controller.source == "Android" &&
- controller.name == "Touchscreen") // Android Touchscreen
+ || (controller.source == "Android" && controller.cid <= 0) // Android non-gamepad device
|| (controller.source == "DInput" &&
controller.name == "Keyboard Mouse")); // Windows Keyboard/Mouse
}