private HatPosition TranslateHat(XInputButtons buttons) { XInputButtons dir = 0; dir =XInputButtons.DPadUp | XInputButtons.DPadLeft; if ((buttons & dir) == dir) return HatPosition.UpLeft; dir = XInputButtons.DPadUp | XInputButtons.DPadRight; if ((buttons & dir) == dir) return HatPosition.UpRight; dir = XInputButtons.DPadDown | XInputButtons.DPadLeft; if ((buttons & dir) == dir) return HatPosition.DownLeft; dir = XInputButtons.DPadDown | XInputButtons.DPadRight; if ((buttons & dir) == dir) return HatPosition.DownRight; dir = XInputButtons.DPadUp; if ((buttons & dir) == dir) return HatPosition.Up; dir = XInputButtons.DPadRight; if ((buttons & dir) == dir) return HatPosition.Right; dir = XInputButtons.DPadDown; if ((buttons & dir) == dir) return HatPosition.Down; dir = XInputButtons.DPadLeft; if ((buttons & dir) == dir) return HatPosition.Left; return HatPosition.Centered; }
private HatPosition TranslateHat(XInputButtons buttons) { XInputButtons dir = 0; dir = XInputButtons.DPadUp | XInputButtons.DPadLeft; if ((buttons & dir) == dir) { return(HatPosition.UpLeft); } dir = XInputButtons.DPadUp | XInputButtons.DPadRight; if ((buttons & dir) == dir) { return(HatPosition.UpRight); } dir = XInputButtons.DPadDown | XInputButtons.DPadLeft; if ((buttons & dir) == dir) { return(HatPosition.DownLeft); } dir = XInputButtons.DPadDown | XInputButtons.DPadRight; if ((buttons & dir) == dir) { return(HatPosition.DownRight); } dir = XInputButtons.DPadUp; if ((buttons & dir) == dir) { return(HatPosition.Up); } dir = XInputButtons.DPadRight; if ((buttons & dir) == dir) { return(HatPosition.Right); } dir = XInputButtons.DPadDown; if ((buttons & dir) == dir) { return(HatPosition.Down); } dir = XInputButtons.DPadLeft; if ((buttons & dir) == dir) { return(HatPosition.Left); } return(HatPosition.Centered); }
public static XInputErrorCodes UpdateGamepad() { if (!GamepadEnabled || !IsVista) { return(XInputErrorCodes.AccessDenied); } try { var ret = SafeNativeMethods.XInputGetState(0, out padState); GamepadAvailable = (ret == XInputErrorCodes.Success); if (ret == XInputErrorCodes.Success) { GamepadState = padState.GamePad; GamepadHasInput = (padPacket != padState.PacketNumber); if (GamepadHasInput) { var rawButtons = padState.GamePad.Buttons; DPad = rawButtons & directionMask; var newTrigs = rawButtons; // & triggerMask; if (lastTrigs != newTrigs) { Triggers = lastTrigs = newTrigs; } else if (newTrigs == lastTrigs) { Triggers = lastTrigs = 0; } } padPacket = padState.PacketNumber; } return(ret); } catch (DllNotFoundException) { //Thanks to Adamsk on #rgrd for bringing this to my attention. GamepadEnabled = false; return(XInputErrorCodes.AccessDenied); } }
Buttons TranslateButtons(XInputButtons xbuttons) { Buttons buttons = 0; buttons |= (xbuttons & XInputButtons.A) != 0 ? Buttons.A : 0; buttons |= (xbuttons & XInputButtons.B) != 0 ? Buttons.B : 0; buttons |= (xbuttons & XInputButtons.X) != 0 ? Buttons.X : 0; buttons |= (xbuttons & XInputButtons.Y) != 0 ? Buttons.Y : 0; buttons |= (xbuttons & XInputButtons.Start) != 0 ? Buttons.Start : 0; buttons |= (xbuttons & XInputButtons.Back) != 0 ? Buttons.Back : 0; //buttons |= (xbuttons & XInputButtons.BigButton) != 0 ? Buttons.BigButton : 0; buttons |= (xbuttons & XInputButtons.LeftShoulder) != 0 ? Buttons.LeftShoulder : 0; buttons |= (xbuttons & XInputButtons.RightShoulder) != 0 ? Buttons.RightShoulder : 0; buttons |= (xbuttons & XInputButtons.LeftThumb) != 0 ? Buttons.LeftStick : 0; buttons |= (xbuttons & XInputButtons.RightThumb) != 0 ? Buttons.RightStick : 0; buttons |= (xbuttons & XInputButtons.DPadDown) != 0 ? Buttons.DPadDown : 0; buttons |= (xbuttons & XInputButtons.DPadUp) != 0 ? Buttons.DPadUp : 0; buttons |= (xbuttons & XInputButtons.DPadLeft) != 0 ? Buttons.DPadLeft : 0; buttons |= (xbuttons & XInputButtons.DPadRight) != 0 ? Buttons.DPadRight : 0; return(buttons); }
private int TranslateButtons(XInputButtons xbuttons) { return(NumberOfSetBits((int)xbuttons)); }
/// <summary> /// Function to retrieve the buttons for the joystick/gamepad. /// </summary> /// <returns> /// The list of buttons for the joystick/gamepad. /// </returns> /// <remarks>Implementors must implement this method so the object can get the list of buttons for the device.</remarks> protected override JoystickButtons GetButtons() { _buttonList = new XInputButtons(); return(_buttonList); }
public static void ReleaseTriggers() { Triggers = 0; }
Buttons TranslateButtons(XInputButtons xbuttons) { Buttons buttons = 0; buttons |= (xbuttons & XInputButtons.A) != 0 ? Buttons.A : 0; buttons |= (xbuttons & XInputButtons.B) != 0 ? Buttons.B : 0; buttons |= (xbuttons & XInputButtons.X) != 0 ? Buttons.X : 0; buttons |= (xbuttons & XInputButtons.Y) != 0 ? Buttons.Y : 0; buttons |= (xbuttons & XInputButtons.Start) != 0 ? Buttons.Start : 0; buttons |= (xbuttons & XInputButtons.Back) != 0 ? Buttons.Back : 0; //buttons |= (xbuttons & XInputButtons.BigButton) != 0 ? Buttons.BigButton : 0; buttons |= (xbuttons & XInputButtons.LeftShoulder) != 0 ? Buttons.LeftShoulder : 0; buttons |= (xbuttons & XInputButtons.RightShoulder) != 0 ? Buttons.RightShoulder : 0; buttons |= (xbuttons & XInputButtons.LeftThumb) != 0 ? Buttons.LeftStick : 0; buttons |= (xbuttons & XInputButtons.RightThumb) != 0 ? Buttons.RightStick : 0; buttons |= (xbuttons & XInputButtons.DPadDown) != 0 ? Buttons.DPadDown : 0; buttons |= (xbuttons & XInputButtons.DPadUp) != 0 ? Buttons.DPadUp : 0; buttons |= (xbuttons & XInputButtons.DPadLeft) != 0 ? Buttons.DPadLeft : 0; buttons |= (xbuttons & XInputButtons.DPadRight) != 0 ? Buttons.DPadRight : 0; return buttons; }
public bool IsKeyReleased(XInputButtons Button) { return(!curr_state.Gamepad.IsButtonPressed(Button) & prev_state.Gamepad.IsButtonPressed(Button)); }
public bool IsButtonTriggered(XInputButtons Button) { return(curr_state.Gamepad.IsButtonPressed(Button) & !prev_state.Gamepad.IsButtonPressed(Button)); }
public bool IsButtonPressed(XInputButtons Flag) { return((Buttons & (short)Flag) != 0); }
int TranslateButtons(XInputButtons xbuttons) { return NumberOfSetBits((int)xbuttons); }
public bool IsButtonDown(XInputButtons button) { return((Buttons & button) != 0); }