diff --git a/BizHawk.Client.Common/inputAdapters/InputAdapters.cs b/BizHawk.Client.Common/inputAdapters/InputAdapters.cs index 615310ee35..e6e8802288 100644 --- a/BizHawk.Client.Common/inputAdapters/InputAdapters.cs +++ b/BizHawk.Client.Common/inputAdapters/InputAdapters.cs @@ -114,15 +114,23 @@ namespace BizHawk.Client.Common string prefix; + //TODO - someone please say what in the heck " C " is supposed to mean + if (button.Contains("Down") && !button.Contains(" C ")) { prefix = button.GetPrecedingString("Down"); if (Source.IsPressed(prefix + "Up")) - { return false; - } } + if (button.Contains("Up") && !button.Contains(" C ")) + { + prefix = button.GetPrecedingString("Up"); + if (Source.IsPressed(prefix + "Down")) + return false; + } + + if (button.Contains("Right") && !button.Contains(" C ")) { prefix = button.GetPrecedingString("Right"); @@ -132,6 +140,15 @@ namespace BizHawk.Client.Common } } + if (button.Contains("Left") && !button.Contains(" C ")) + { + prefix = button.GetPrecedingString("Left"); + if (Source.IsPressed(prefix + "Right")) + { + return false; + } + } + return Source.IsPressed(button); } }