diff --git a/Assets/InControl/Source/Unity/DeviceProfiles/XboxOneMacProfile.cs b/Assets/InControl/Source/Unity/DeviceProfiles/XboxOneMacProfile.cs new file mode 100644 index 00000000..ad779d15 --- /dev/null +++ b/Assets/InControl/Source/Unity/DeviceProfiles/XboxOneMacProfile.cs @@ -0,0 +1,139 @@ +using System; + + +namespace InControl +{ + // @cond nodoc + [AutoDiscover] + public class XboxOneMacProfile : UnityInputDeviceProfile + { + public XboxOneMacProfile() + { + Name = "XBox One Controller"; + Meta = "XBox One Controller on OSX"; + + SupportedPlatforms = new[] { + "OS X" + }; + + JoystickNames = new[] { + "Microsoft Xbox One Wired Controller" + }; + + ButtonMappings = new[] { + new InputControlMapping { + Handle = "A", + Target = InputControlType.Action1, + Source = Button16 + }, + new InputControlMapping { + Handle = "B", + Target = InputControlType.Action2, + Source = Button17 + }, + new InputControlMapping { + Handle = "X", + Target = InputControlType.Action3, + Source = Button18 + }, + new InputControlMapping { + Handle = "Y", + Target = InputControlType.Action4, + Source = Button19 + }, + new InputControlMapping { + Handle = "Left Bumper", + Target = InputControlType.LeftBumper, + Source = Button13 + }, + new InputControlMapping { + Handle = "Right Bumper", + Target = InputControlType.RightBumper, + Source = Button14 + }, + new InputControlMapping { + Handle = "Left Stick Button", + Target = InputControlType.LeftStickButton, + Source = Button11 + }, + new InputControlMapping { + Handle = "Right Stick Button", + Target = InputControlType.RightStickButton, + Source = Button12 + }, + new InputControlMapping { + Handle = "View", + Target = InputControlType.View, + Source = Button10 + }, + new InputControlMapping { + Handle = "Menu", + Target = InputControlType.Menu, + Source = Button9 + } + }; + + AnalogMappings = new[] { + new InputControlMapping { + Handle = "Left Stick X", + Target = InputControlType.LeftStickX, + Source = Analog0 + }, + new InputControlMapping { + Handle = "Left Stick Y", + Target = InputControlType.LeftStickY, + Source = Analog1, + Invert = true + }, + new InputControlMapping { + Handle = "Right Stick X", + Target = InputControlType.RightStickX, + Source = Analog2 + }, + new InputControlMapping { + Handle = "Right Stick Y", + Target = InputControlType.RightStickY, + Source = Analog3, + Invert = true + }, + new InputControlMapping { + Handle = "DPad Left", + Target = InputControlType.DPadLeft, + Source = Button7 + }, + new InputControlMapping { + Handle = "DPad Right", + Target = InputControlType.DPadRight, + Source = Button8 + }, + new InputControlMapping { + Handle = "DPad Up", + Target = InputControlType.DPadUp, + Source = Button5 + }, + new InputControlMapping { + Handle = "DPad Down", + Target = InputControlType.DPadDown, + Source = Button6, + }, + new InputControlMapping { + Handle = "Left Trigger", + Target = InputControlType.LeftTrigger, + Source = Analog4, + SourceRange = InputControlMapping.Range.Complete, + TargetRange = InputControlMapping.Range.Positive, + IgnoreInitialZeroValue = true + }, + new InputControlMapping { + Handle = "Right Trigger", + Target = InputControlType.RightTrigger, + Source = Analog5, + SourceRange = InputControlMapping.Range.Complete, + TargetRange = InputControlMapping.Range.Positive, + IgnoreInitialZeroValue = true + } + }; + } + } +} + diff --git a/Assets/InControl/Source/Unity/DeviceProfiles/XboxOneMacProfile.cs.meta b/Assets/InControl/Source/Unity/DeviceProfiles/XboxOneMacProfile.cs.meta new file mode 100644 index 00000000..84909c71 --- /dev/null +++ b/Assets/InControl/Source/Unity/DeviceProfiles/XboxOneMacProfile.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d18f352020dcf40bcb258122b32e337a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/InControl/Source/Unity/UnityInputDeviceProfileList.cs b/Assets/InControl/Source/Unity/UnityInputDeviceProfileList.cs index dc849dd5..74db2180 100644 --- a/Assets/InControl/Source/Unity/UnityInputDeviceProfileList.cs +++ b/Assets/InControl/Source/Unity/UnityInputDeviceProfileList.cs @@ -29,6 +29,7 @@ public class UnityInputDeviceProfileList : ScriptableObject "InControl.LogitechF310ModeXWinProfile", "InControl.LogitechF510LinuxProfile", "InControl.LogitechF510WinProfile", + "InControl.LogitechF710LinuxProfile", "InControl.LogitechF710MacProfile", "InControl.LogitechF710ModeDWinProfile", "InControl.LogitechF710ModeXWinProfile", @@ -67,6 +68,7 @@ public class UnityInputDeviceProfileList : ScriptableObject "InControl.Xbox360LinuxProfile", "InControl.Xbox360MacProfile", "InControl.Xbox360WinProfile", + "InControl.XboxOneMacProfile", "InControl.XboxOneProfile", "InControl.XboxOneWinProfile", };