protected override void ExecuteAfterDelay() { if (Key == Keys.None) { return; } KeyboardInjection.StrokeKey(Key); }
protected override void ExecuteAfterDelay() { if (string.IsNullOrEmpty(Text)) { return; } KeyboardInjection.EnterCharacters(Text); }
private async Task InjectWindowsKeyPress() { if (!_isTouchInjectionSuspended) { _isTouchInjectionSuspended = true; _pointerTouchInfos.Clear(); InjectPointerTouchInfos(); KeyboardInjection.Send(KeyboardInputSequence.WindowsKeyPress); await Task.Delay(TimeSpan.FromMilliseconds(750)); _isTouchInjectionSuspended = false; _pointerTouchInfos.Clear(); InjectPointerTouchInfos(); } }
public MainWindow() { InitializeComponent(); this.SetBorderless(); this.SetInactive(); MouseLeftButtonDown += (o, e) => DragMove(); KeysStates = KeysMap.Keys.ToDictionary(x => x, x => new ReactiveProperty <bool>()); KirbyButtonsStates = KirbyButtonsMap.Keys.ToDictionary(x => x, x => new ReactiveProperty <bool>()); var gamepadButtons = GamepadButtonsPanel.Children.OfType <TextBlock>(); foreach (var button in gamepadButtons) { var key = KeysMap[button.Text]; var pressed = KeysStates[button.Text]; pressed .ObserveOnDispatcher() .Do(b => button.Background = b ? PressedBrush : NormalBrush) .Subscribe(b => { if (b) { KeyboardInjection.KeyDown(key); } else { KeyboardInjection.KeyUp(key); } }); button.TouchDown += (o, e) => pressed.Value = true; button.TouchUp += (o, e) => pressed.Value = false; } var kirbyButtons = KirbyButtonsPanel.Children.OfType <TextBlock>(); foreach (var button in kirbyButtons) { var key = KeysStates[KirbyButtonsMap[button.Text]]; var pressed = KirbyButtonsStates[button.Text]; pressed .ObserveOnDispatcher() .Do(b => button.Background = b ? PressedBrush : NormalBrush) .Subscribe(b => key.Value = b); button.TouchDown += (o, e) => pressed.Value = true; button.TouchUp += (o, e) => pressed.Value = false; } appModel.IsRightOriented.Subscribe(b => KirbyButtonsStates["進"].Value = b); appModel.IsLeftOriented.Subscribe(b => KirbyButtonsStates["退"].Value = b); appModel.AreHandsAbove.Subscribe(b => KirbyButtonsStates["翔"].Value = b); appModel.IsJumping.Subscribe(b => KirbyButtonsStates["跳"].Value = b); appModel.IsSquat.Subscribe(b => KirbyButtonsStates["屈"].Value = b); appModel.IsMouthOpen.Subscribe(b => KirbyButtonsStates["吸"].Value = b); appModel.IsHandHit.Subscribe(b => KirbyButtonsStates["扉"].Value = b); }