summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/InputConfig.cpp
diff options
context:
space:
mode:
authorAdmiral H. Curtiss <pikachu025@gmail.com>2023-08-18 21:27:26 +0200
committerGitHub <noreply@github.com>2023-08-18 21:27:26 +0200
commit9a51215af3322f51edde6359b047a0f2dc20097f (patch)
tree8c170bdbc4017714703b9a0941ff4ebdbafb244f /Source/Core/InputCommon/InputConfig.cpp
parent3441fe6efc8aaba0135ca623d113e127cc5fc7b4 (diff)
parent02b0e287cb3c135fa2cf0cadaf9d0847bbcdf7b9 (diff)
Merge pull request #12083 from JosJuice/android-controlled-by-gamepad
InputConfig: Update IsControllerControlledByGamepadDevice for Android input overhaul
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
}