private void HandleController() { if (Controller.IsConnected) { var s = Controller.GetState(); float i = s.Gamepad.RightTrigger; altitude = (i / 127) - 1f;; float x = s.Gamepad.LeftThumbX; float y = s.Gamepad.LeftThumbY; currentSpeed = RUN_SPEED * (y / 32768); Rotation = new Vector3(0, (Rotation.Y - x / 42768), 0); left = s.Gamepad.Buttons == SharpDX.XInput.GamepadButtonFlags.DPadLeft; right = s.Gamepad.Buttons == SharpDX.XInput.GamepadButtonFlags.DPadRight; down = s.Gamepad.Buttons == SharpDX.XInput.GamepadButtonFlags.DPadDown; up = s.Gamepad.Buttons == SharpDX.XInput.GamepadButtonFlags.DPadUp; return; } KeyboardState state = Keyboard.GetState(); up = state.IsKeyDown(Key.Up); left = state.IsKeyDown(Key.Left); right = state.IsKeyDown(Key.Right); down = state.IsKeyDown(Key.Down); space = state.IsKeyDown(Key.Space); }
private void joy_update(object sender, EventArgs e) { if (ctrl != null && ctrl.IsConnected == true) { state = ctrl.GetState(); gamepad = ctrl.GetState().Gamepad; var joy = new xbox_joy(); var buttons = ""; #region get joy data gamepad = ctrl.GetState().Gamepad; buttons = gamepad.Buttons.ToString(); joy.A = buttons.Contains("A"); joy.B = buttons.Contains("B"); joy.X = buttons.Contains("X"); joy.Y = buttons.Contains("Y"); joy.start = buttons.Contains("Start"); joy.back = buttons.Contains("Back"); joy.left_shoulder = buttons.Contains("LeftShoulder"); joy.right_shoulder = buttons.Contains("RightShoulder"); joy.rightthumb = buttons.Contains("RightThumb"); joy.leftthumb = buttons.Contains("LeftThumb"); joy.dpadUp = buttons.Contains("DPadUp"); joy.dpadLeft = buttons.Contains("DPadLeft"); joy.dpadDown = buttons.Contains("DPadDown"); joy.dpadRight = buttons.Contains("DPadRight"); joy.left_axis_x = gamepad.LeftThumbX + 32768; joy.left_axis_y = gamepad.LeftThumbY + 32768; joy.right_axis_x = gamepad.RightThumbX + 32768; joy.right_axis_y = gamepad.RightThumbY + 32768; joy.left_trigger = gamepad.LeftTrigger; joy.right_trigger = gamepad.RightTrigger; #endregion this.label_left_trigger.Text = joy.left_trigger.ToString(); this.label_right_trigger.Text = joy.right_trigger.ToString(); this.label_left_axis_x.Text = joy.left_axis_x.ToString(); this.label_left_axis_y.Text = joy.left_axis_y.ToString(); this.label_right_axis_x.Text = joy.right_axis_x.ToString(); this.label_right_axis_y.Text = joy.right_axis_y.ToString(); if (joy.start) { this.checkBox_use_joy.Checked = true; } if (joy.back) { this.checkBox_use_joy.Checked = false; } this.checkBox_use_joy.Visible = true; // MOVE !!!! if (checkBox_use_joy.Checked == true) { try { ProfilePositionMode ppm = _epos_A.Operation.ProfilePositionMode; ppm.ActivateProfilePositionMode(); textBoxAOM_A.Text = _epos_A.Operation.OperationMode.GetOperationModeAsString(); ppm.MoveToPosition(joy.left_axis_x, true, true); } catch { } try { ProfilePositionMode ppm = _epos_B.Operation.ProfilePositionMode; ppm.ActivateProfilePositionMode(); textBoxAOM_B.Text = _epos_B.Operation.OperationMode.GetOperationModeAsString(); ppm.MoveToPosition(joy.right_axis_x, true, true); } catch { } } } else { this.checkBox_use_joy.Visible = false; } }
public Controller() { index = SharpDX.XInput.UserIndex.One; gamepad = new SharpDX.XInput.Controller(index); state = gamepad.GetState(); }