Как заставить контроллер продолжать вибрировать независимо от фокуса окна, используя SharpDX - PullRequest
0 голосов
/ 03 октября 2019

Я написал что-то в C # WPF с SharpDX для проверки моего контроллера xbox, работает нормально, за исключением того, что когда окно теряет фокус, оно также останавливает вибрацию контроллера:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using SharpDX.XInput;
using SharpDX;

namespace controllertest
{
    class XInputController
    {
        public Controller controller;
        public bool connected = false;

        public XInputController()
        {
            controller = new Controller(UserIndex.One);
            connected = controller.IsConnected;
        }
    }

    public partial class MainWindow : Window
    {
        XInputController player1 = new XInputController();
        Vibration v = new Vibration();

        public MainWindow()
        {
            InitializeComponent();

            if (player1.connected)
                isConnectedtxt.Text = player1.connected.ToString();
        }

        private void LMotor_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            v.LeftMotorSpeed = Convert.ToUInt16(LMotor.Value * UInt16.MaxValue);
            player1.controller.SetVibration(v);
        }

        private void RMotor_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            v.RightMotorSpeed = Convert.ToUInt16(RMotor.Value * UInt16.MaxValue);
            player1.controller.SetVibration(v);
        }
    }
}

Есть ли способ привязатьКонтроллер к окну независимо от того, является ли он сфокусированным?

Я бы ДЕЙСТВИТЕЛЬНО не был бы вынужден использовать необработанный ввод для такой простой вещи ... если у кого-то есть какие-то указатели относительно того, возможно ли это или нетКак это сделать и т. д. Я был бы очень признателен. Спасибо

...