diff --git a/BizHawk.MultiClient/Input/GamePad360.cs b/BizHawk.MultiClient/Input/GamePad360.cs index f7b3ec85cb..e3a3fcae02 100644 --- a/BizHawk.MultiClient/Input/GamePad360.cs +++ b/BizHawk.MultiClient/Input/GamePad360.cs @@ -62,6 +62,17 @@ namespace BizHawk.MultiClient state = controller.GetState(); } + public IEnumerable> GetFloats() + { + var g = state.Gamepad; + const float f = 3.2768f; + yield return new Tuple("LeftThumbX", g.LeftThumbX / f); + yield return new Tuple("LeftThumbY", g.LeftThumbY / f); + yield return new Tuple("RightThumbX", g.RightThumbX / f); + yield return new Tuple("RightThumbY", g.RightThumbY / f); + yield break; + } + public int NumButtons { get; private set; } private readonly List names = new List(); diff --git a/BizHawk.MultiClient/Input/Input.cs b/BizHawk.MultiClient/Input/Input.cs index b3a30445e7..99d0b8c280 100644 --- a/BizHawk.MultiClient/Input/Input.cs +++ b/BizHawk.MultiClient/Input/Input.cs @@ -298,6 +298,8 @@ namespace BizHawk.MultiClient string xname = "X" + (i + 1) + " "; for (int b = 0; b < pad.NumButtons; b++) HandleButton(xname + pad.ButtonName(b), pad.Pressed(b)); + foreach (var sv in pad.GetFloats()) + FloatValues.Add(new Tuple(xname + sv.Item1, sv.Item2)); } //analyze joysticks