private void SetDpad(IVirtualGamepad gamepad, Mapping mapping, bool isKeyDown) { int direction = (int)mapping.Function; int oldValue = gamepad.GetDpadState(); int newValue = isKeyDown ? oldValue | direction : oldValue & ~direction; if (oldValue == newValue) { return; } gamepad.SetDpadState(newValue); }
private string SetDpad(IVirtualGamepad gamepad, Mapping mapping, bool isKeyDown) { int direction = (int)mapping.Function; int oldValue = gamepad.GetDpadState(); int newValue = isKeyDown ? oldValue | direction : oldValue & ~direction; if (oldValue == newValue) { return(null); } gamepad.SetDpadState(newValue); return(((XinputButton)newValue).ToString()); }