void Joy_JoystickStateChanged(object sender, SharpDX.DirectInput.JoystickState state) { if (buttonPanel != null && buttonPanel.Controls.Count > 0) { for (int i = 0; i < buttonPanel.Controls.Count; i++) { bool[] buttons = state.Buttons; var b = (JoyButton)buttonPanel.Controls[i]; b.State = buttons[i]; } } if (povsPanel != null && povsPanel.Controls.Count > 0) { int[] povs = state.PointOfViewControllers; for (int i = 0; i < povsPanel.Controls.Count; i++) { var p = (JoyPov)povsPanel.Controls[i]; p.State = povs[i]; } } if (sliderPanel != null && sliderPanel.Controls.Count > 0) { for (int i = 0; i < sliderPanel.Controls.Count; i++) { var c = (JoySlider)sliderPanel.Controls[i]; c.State = state.Sliders[i]; } } }
public static Microsoft.Xna.Framework.Input.GamePadState ToXNAGamePadState(this SharpDX.DirectInput.JoystickState joyState) { Microsoft.Xna.Framework.Vector2 LeftStick = new Microsoft.Xna.Framework.Vector2((float)joyState.X / 45000, (float)joyState.Y); Microsoft.Xna.Framework.Input.Buttons buttons = joyState.Buttons[0] ? Microsoft.Xna.Framework.Input.Buttons.A : 0; Microsoft.Xna.Framework.Input.GamePadState outputState = new Microsoft.Xna.Framework.Input.GamePadState(LeftStick, Microsoft.Xna.Framework.Vector2.Zero, 0, 0, buttons); return(outputState); }
public static Microsoft.Xna.Framework.Input.GamePadState GetState(Microsoft.Xna.Framework.PlayerIndex index) { if (instance == null) { instance = new FizzyoInput(); } SharpDX.DirectInput.JoystickState joyState = new SharpDX.DirectInput.JoystickState(); if ((int)index < joysticks.Length) { joysticks[(int)index].GetCurrentState(ref joyState); joyState.X -= joysticksDeadzoneX[(int)index]; return(joyState.ToXNAGamePadState()); } return(new Microsoft.Xna.Framework.Input.GamePadState()); }