From 31029b2fe4a322e5b892e45a90bd70fc19dda243 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 29 Jul 2023 14:45:35 +1000 Subject: [PATCH] InputManager: Don't connect bindings for disabled multitap ports --- pcsx2/Input/InputManager.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pcsx2/Input/InputManager.cpp b/pcsx2/Input/InputManager.cpp index e95048489e..158e55f615 100644 --- a/pcsx2/Input/InputManager.cpp +++ b/pcsx2/Input/InputManager.cpp @@ -19,6 +19,7 @@ #include "Input/InputManager.h" #include "Input/InputSource.h" #include "SIO/Pad/Pad.h" +#include "SIO/Sio.h" #include "USB/USB.h" #include "VMManager.h" @@ -628,10 +629,17 @@ void InputManager::AddHotkeyBindings(SettingsInterface& si) void InputManager::AddPadBindings(SettingsInterface& si, u32 pad_index) { const Pad::ControllerType type = EmuConfig.Pad.Ports[pad_index].Type; + + // Don't bother checking macros/vibration if it's not a connected type. if (type == Pad::ControllerType::NotConnected) - { - // Don't bother checking macros/vibration if it's not a connected type. return; + + // Or if it's a multitap port, and this multitap isn't enabled. + if (sioPadIsMultitapSlot(pad_index)) + { + const auto& [mt_port, mt_slot] = sioConvertPadToPortAndSlot(pad_index); + if (EmuConfig.Pad.IsMultitapPortEnabled(mt_port)) + return; } const std::string section = Pad::GetConfigSection(pad_index);