void OnEnable() { // See PlayerActions.cs for this setup. playerActions = MMInputActions.CreateWithDefaultBindings(); //playerActions.Move.OnLastInputTypeChanged += ( lastInputType ) => Debug.Log( lastInputType ); LoadBindings(); }
public static MMInputActions CreateWithDefaultBindings() { var playerActions = new MMInputActions(); // How to set up mutually exclusive keyboard bindings with a modifier key. // playerActions.Back.AddDefaultBinding( Key.Shift, Key.Tab ); // playerActions.Next.AddDefaultBinding( KeyCombo.With( Key.Tab ).AndNot( Key.Shift ) ); playerActions.Shoot.AddDefaultBinding(InputControlType.Action3); playerActions.Shoot.AddDefaultBinding(Mouse.LeftButton); playerActions.SecondaryShoot.AddDefaultBinding(InputControlType.RightBumper); playerActions.SwitchCharacter.AddDefaultBinding(InputControlType.Action4); playerActions.Jump.AddDefaultBinding(Key.Space); playerActions.Jump.AddDefaultBinding(InputControlType.Action1); playerActions.Up.AddDefaultBinding(Key.W); playerActions.Down.AddDefaultBinding(Key.S); playerActions.Left.AddDefaultBinding(Key.A); playerActions.Right.AddDefaultBinding(Key.D); playerActions.Run.AddDefaultBinding(Key.Shift); playerActions.Run.AddDefaultBinding(InputControlType.Action3); playerActions.Pause.AddDefaultBinding(Key.Escape); playerActions.Pause.AddDefaultBinding(InputControlType.Start); playerActions.Grab.AddDefaultBinding(Key.Tab); playerActions.Throw.AddDefaultBinding(InputControlType.Back); playerActions.Left.AddDefaultBinding(InputControlType.LeftStickLeft); playerActions.Right.AddDefaultBinding(InputControlType.LeftStickRight); playerActions.Up.AddDefaultBinding(InputControlType.LeftStickUp); playerActions.Down.AddDefaultBinding(InputControlType.LeftStickDown); playerActions.DLeft.AddDefaultBinding(InputControlType.DPadLeft); playerActions.DRight.AddDefaultBinding(InputControlType.DPadRight); playerActions.DUp.AddDefaultBinding(InputControlType.DPadUp); playerActions.DDown.AddDefaultBinding(InputControlType.DPadDown); playerActions.ListenOptions.IncludeUnknownControllers = true; playerActions.ListenOptions.MaxAllowedBindings = 2; playerActions.ListenOptions.MaxAllowedBindingsPerType = 2; playerActions.ListenOptions.AllowDuplicateBindingsPerSet = true; // playerActions.ListenOptions.UnsetDuplicateBindingsOnSet = true; playerActions.ListenOptions.IncludeMouseButtons = true; playerActions.ListenOptions.IncludeMouseButtons = true; playerActions.ListenOptions.IncludeMouseScrollWheel = true; // playerActions.ListenOptions.IncludeModifiersAsFirstClassKeys = true; playerActions.ListenOptions.OnBindingFound = (action, binding) => { if (binding == new KeyBindingSource(Key.Escape)) { action.StopListeningForBinding(); return(false); } return(true); }; playerActions.ListenOptions.OnBindingAdded += (action, binding) => { Debug.Log("Binding added... " + binding.DeviceName + ": " + binding.Name); }; playerActions.ListenOptions.OnBindingRejected += (action, binding, reason) => { Debug.Log("Binding rejected... " + reason); }; return(playerActions); }