示例#1
0
        private void RT(State state)
        {
            var value = state.Gamepad.RightTrigger;

            xinput.SetSliderValue(DualShock4Slider.RightTrigger, value);
            xinput.SetButtonState(DualShock4Button.TriggerRight, true);
        }
示例#2
0
        private void DoUpdateInput(OutputControllerDualShock4InputState new_state)
        {
            controller.SetButtonState(DualShock4Button.Triangle, new_state.triangle);
            controller.SetButtonState(DualShock4Button.Circle, new_state.circle);
            controller.SetButtonState(DualShock4Button.Cross, new_state.cross);
            controller.SetButtonState(DualShock4Button.Square, new_state.square);

            controller.SetButtonState(DualShock4Button.ShoulderLeft, new_state.shoulder_left);
            controller.SetButtonState(DualShock4Button.ShoulderRight, new_state.shoulder_right);

            controller.SetButtonState(DualShock4Button.TriggerLeft, new_state.trigger_left);
            controller.SetButtonState(DualShock4Button.TriggerRight, new_state.trigger_right);

            controller.SetButtonState(DualShock4Button.ThumbLeft, new_state.thumb_left);
            controller.SetButtonState(DualShock4Button.ThumbRight, new_state.thumb_right);

            controller.SetButtonState(DualShock4Button.Share, new_state.share);
            controller.SetButtonState(DualShock4Button.Options, new_state.options);
            controller.SetButtonState(DualShock4SpecialButton.Ps, new_state.ps);
            controller.SetButtonState(DualShock4SpecialButton.Touchpad, new_state.touchpad);

            controller.SetDPadDirection(MapDPadDirection(new_state.dPad));

            controller.SetAxisValue(DualShock4Axis.LeftThumbX, new_state.thumb_left_x);
            controller.SetAxisValue(DualShock4Axis.LeftThumbY, new_state.thumb_left_y);
            controller.SetAxisValue(DualShock4Axis.RightThumbX, new_state.thumb_right_x);
            controller.SetAxisValue(DualShock4Axis.RightThumbY, new_state.thumb_right_y);

            controller.SetSliderValue(DualShock4Slider.LeftTrigger, new_state.trigger_left_value);
            controller.SetSliderValue(DualShock4Slider.RightTrigger, new_state.trigger_right_value);

            controller.SubmitReport();

            current_state = new_state;
        }
        public static void SetTriggerRight(IDualShock4Controller controller, byte bite)
        {
            // triggers need to be set twice as per https://github.com/ViGEm/ViGEm.NET/issues/14
            bool triggerBool = GetTriggerPressedFromByte(bite);

            controller.SetButtonState(DualShock4Button.TriggerRight, triggerBool);
            controller.SetSliderValue(DualShock4Slider.RightTrigger, bite);
        }
示例#4
0
 private void SetValueIfNeeded(DualShock4Slider slider, double?value)
 {
     if (value.HasValue)
     {
         var newValue = (byte)(value.Value * byte.MaxValue);
         controller.SetSliderValue(slider, newValue);
     }
 }