SharpDX рассматривает геймпад PS4 как джойстик, а не как контроллер - PullRequest
1 голос
/ 19 июня 2020

У меня проблема с SharpDX. Он видит мой контроллер PS4 как джойстик, а не как контроллер. В результате у меня нет доступа к некоторым функциям, например к вибрации. Этот код отлично работает (как джойстик):

foreach (var selectControler in input.GetDevices(DeviceClass.GameControl,DeviceEnumerationFlags.AttachedOnly))
{
    try
    {
        Console.WriteLine("Connected");
        _joystick = new Joystick(input, selectControler.InstanceGuid);
        _joystick.Acquire();
        _timer = new Timer(x => Update());
        break;
    }
    catch (Exception)
    {
        throw;
    }
}

, но этот код не обнаруживает контроллера:

for (UserIndex i = UserIndex.One; i <= UserIndex.Four; i++)
{
    _controller =new Controller(i);
    if (_controller.IsConnected)
    {
        Console.WriteLine("Scan Input {0} for gamepad - {1}", i, _controller.GetCapabilities(DeviceQueryType.Gamepad).ToString());
        Console.WriteLine("Connected");
        _timer = new Timer(x => Update());

        break;
    }
    else _controller = null;
}

Steam и другие приложения обычно обнаруживают этот контроллер. Заранее благодарим за помощь

...