コード例 #1
0
ファイル: ScpDevice.cs プロジェクト: Amir-799/XOutput
 public override void SendInput(XboxInputMessage input)
 {
     SetValueIfNeeded(2, 0, input.UP);
     SetValueIfNeeded(2, 1, input.DOWN);
     SetValueIfNeeded(2, 2, input.LEFT);
     SetValueIfNeeded(2, 3, input.RIGHT);
     SetValueIfNeeded(2, 4, input.Start);
     SetValueIfNeeded(2, 5, input.Back);
     SetValueIfNeeded(2, 6, input.L3);
     SetValueIfNeeded(2, 7, input.R3);
     SetValueIfNeeded(3, 0, input.L1);
     SetValueIfNeeded(3, 1, input.R1);
     SetValueIfNeeded(3, 2, input.Home);
     SetValueIfNeeded(3, 4, input.A);
     SetValueIfNeeded(3, 5, input.B);
     SetValueIfNeeded(3, 6, input.X);
     SetValueIfNeeded(3, 7, input.Y);
     SetValueIfNeeded(4, input.L2);
     SetValueIfNeeded(5, input.R2);
     SetValueIfNeeded(6, 7, input.LX);
     SetValueIfNeeded(8, 9, input.LY);
     SetValueIfNeeded(10, 11, input.RX);
     SetValueIfNeeded(12, 13, input.RY);
     client.Report(controllerCount, report);
 }
コード例 #2
0
 public override void SendInput(XboxInputMessage input)
 {
     SetValueIfNeeded(Xbox360Button.A, input.A);
     SetValueIfNeeded(Xbox360Button.B, input.B);
     SetValueIfNeeded(Xbox360Button.X, input.X);
     SetValueIfNeeded(Xbox360Button.Y, input.Y);
     SetValueIfNeeded(Xbox360Button.LeftShoulder, input.L1);
     SetValueIfNeeded(Xbox360Button.RightShoulder, input.R1);
     SetValueIfNeeded(Xbox360Button.LeftThumb, input.L3);
     SetValueIfNeeded(Xbox360Button.RightThumb, input.R3);
     SetValueIfNeeded(Xbox360Button.Back, input.Back);
     SetValueIfNeeded(Xbox360Button.Start, input.Start);
     SetValueIfNeeded(Xbox360Button.Guide, input.Home);
     SetValueIfNeeded(Xbox360Button.Up, input.UP);
     SetValueIfNeeded(Xbox360Button.Down, input.DOWN);
     SetValueIfNeeded(Xbox360Button.Left, input.LEFT);
     SetValueIfNeeded(Xbox360Button.Right, input.RIGHT);
     SetValueIfNeeded(Xbox360Axis.LeftThumbX, input.LX);
     SetValueIfNeeded(Xbox360Axis.LeftThumbY, input.LY);
     SetValueIfNeeded(Xbox360Axis.RightThumbX, input.RX);
     SetValueIfNeeded(Xbox360Axis.RightThumbY, input.RY);
     SetValueIfNeeded(Xbox360Slider.LeftTrigger, input.L2);
     SetValueIfNeeded(Xbox360Slider.RightTrigger, input.R2);
     controller.SubmitReport();
 }
コード例 #3
0
ファイル: XboxDevice.cs プロジェクト: simonporte/XOutput
 public abstract void SendInput(XboxInputMessage input);
コード例 #4
0
ファイル: GameController.cs プロジェクト: yy520a/XOutput
        private XboxInputMessage GetMessage(DeviceInputChangedEventArgs e)
        {
            XboxInputMessage message = new XboxInputMessage();

            if (e.ChangedDPads.Any())
            {
                message.UP    = XInput.GetBool(XInputTypes.UP);
                message.DOWN  = XInput.GetBool(XInputTypes.DOWN);
                message.LEFT  = XInput.GetBool(XInputTypes.LEFT);
                message.RIGHT = XInput.GetBool(XInputTypes.RIGHT);
            }
            foreach (var value in e.ChangedValues)
            {
                if (value.IsButton)
                {
                    XInputTypes type = (XInputTypes)Enum.Parse(typeof(XInputTypes), value.DisplayName);
                    switch (type)
                    {
                    case XInputTypes.A:
                        message.A = value.Value > 0.5;
                        break;

                    case XInputTypes.B:
                        message.B = value.Value > 0.5;
                        break;

                    case XInputTypes.X:
                        message.X = value.Value > 0.5;
                        break;

                    case XInputTypes.Y:
                        message.Y = value.Value > 0.5;
                        break;

                    case XInputTypes.L1:
                        message.L1 = value.Value > 0.5;
                        break;

                    case XInputTypes.R1:
                        message.R1 = value.Value > 0.5;
                        break;

                    case XInputTypes.L3:
                        message.L3 = value.Value > 0.5;
                        break;

                    case XInputTypes.R3:
                        message.R3 = value.Value > 0.5;
                        break;

                    case XInputTypes.Start:
                        message.Start = value.Value > 0.5;
                        break;

                    case XInputTypes.Back:
                        message.Back = value.Value > 0.5;
                        break;

                    case XInputTypes.Home:
                        message.Home = value.Value > 0.5;
                        break;
                    }
                }
                else
                {
                    XInputTypes type = (XInputTypes)Enum.Parse(typeof(XInputTypes), value.DisplayName);
                    switch (type)
                    {
                    case XInputTypes.L2:
                        message.L2 = value.Value;
                        break;

                    case XInputTypes.R2:
                        message.R2 = value.Value;
                        break;

                    case XInputTypes.LX:
                        message.LX = value.Value;
                        break;

                    case XInputTypes.LY:
                        message.LY = value.Value;
                        break;

                    case XInputTypes.RX:
                        message.RX = value.Value;
                        break;

                    case XInputTypes.RY:
                        message.RY = value.Value;
                        break;
                    }
                }
            }
            return(message);
        }
コード例 #5
0
ファイル: WebsocketXboxClient.cs プロジェクト: yy520a/XOutput
 public Task SendInput(XboxInputMessage message)
 {
     return(SendAsync(message));
 }