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); }
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(); }
public abstract void SendInput(XboxInputMessage input);
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); }
public Task SendInput(XboxInputMessage message) { return(SendAsync(message)); }