public void SetButtonState(DualShock4Button button, bool pressed)
        {
            switch (button)
            {
            case DualShock4SpecialButton specialButton:
                if (pressed)
                {
                    _nativeReport.bSpecial |= (byte)specialButton.Value;
                }
                else
                {
                    _nativeReport.bSpecial &= (byte)~specialButton.Value;
                }
                break;

            case DualShock4Button normalButton:
                if (pressed)
                {
                    _nativeReport.wButtons |= (ushort)normalButton.Value;
                }
                else
                {
                    _nativeReport.wButtons &= (ushort)~normalButton.Value;
                }
                break;
            }

            if (AutoSubmitReport)
            {
                SubmitNativeReport(_nativeReport);
            }
        }
Пример #2
0
 public bool this[DualShock4Button button] {
     get {
         return(State[(int)button]);
     }
     private set {
         State[(int)button] = value;
     }
 }
Пример #3
0
 private void SetValueIfNeeded(DualShock4Button button, bool?value)
 {
     if (value.HasValue)
     {
         var newValue = value.Value;
         controller.SetButtonState(button, newValue);
     }
 }
Пример #4
0
        private void SetButton(ref uint buttons, int index, DualShock4Button button)
        {
            var state = CurrentDualShock.Buttons[button];

            if (button == GestureConfirmButton)
            {
                state |= GestureConfirmActive;
            }

            SetButton(ref buttons, index, state);
        }
Пример #5
0
 public bool this[DualShock4Button button]
 {
     get {
         return State[(int)button];
     }
     private set {
         State[(int)button] = value;
     }
 }
Пример #6
0
        private void SetButton(ref uint buttons, int index, DualShock4Button button)
        {
            var state = CurrentDualShock.Buttons[button];
            if (button == GestureConfirmButton)
                state |= GestureConfirmActive;

            SetButton(ref buttons, index, state);
        }