public static bool SetButton(uint userIndex, XboxButton button, bool value) { if (!VirtualXboxController.IsOwned(userIndex)) { return(false); } bool isButtonSet = NativeMethods.SetButton(userIndex, (uint)button, value); if (isButtonSet) { var buttonStates = states[(int)userIndex - 1].ButtonsDown; if (value == true) { if (!buttonStates.Contains(button)) { buttonStates.Add(button); } } else { if (buttonStates.Contains(button)) { buttonStates.Remove(button); } } } return(isButtonSet); }
public static bool SetTrigger(uint userIndex, XboxTrigger trigger, byte value) { if (!VirtualXboxController.IsOwned(userIndex)) { return(false); } if (!NativeMethods.SetTrigger(userIndex, (uint)trigger, value)) { return(false); } switch (trigger) { case XboxTrigger.Left: states[(int)userIndex - 1].LeftTriggerValue = value; break; case XboxTrigger.Right: states[(int)userIndex - 1].RightTriggerValue = value; break; default: throw new NotImplementedException( "Not implemented Xbox trigger: " + trigger); } return(true); }
public static bool SetAxis(uint userIndex, XboxAxis axis, XboxAxisPosition position) { if (!VirtualXboxController.IsOwned(userIndex)) { return(false); } return(VirtualXboxController.SetAxis(userIndex, axis, (short)position)); }
public static bool SetDPad(uint userIndex, XboxDpadDirection directions) { if (!VirtualXboxController.IsOwned(userIndex)) { return(false); } if (NativeMethods.SetDpad(userIndex, (int)directions)) { states[(int)userIndex - 1].DpadDirections = directions; return(true); } return(false); }
public static bool SetAxis(uint userIndex, XboxAxis axis, short value) { if (!VirtualXboxController.IsOwned(userIndex)) { return(false); } if (!NativeMethods.SetAxis(userIndex, (uint)axis, value)) { return(false); } switch (axis) { case XboxAxis.X: states[(int)userIndex - 1].AxisXValue = value; break; case XboxAxis.Y: states[(int)userIndex - 1].AxisYValue = value; break; case XboxAxis.Rx: states[(int)userIndex - 1].AxisRxValue = value; break; case XboxAxis.Ry: states[(int)userIndex - 1].AxisRyValue = value; break; default: throw new NotImplementedException( "Not implemented xbox axis: " + axis); } return(true); }