public void AssignGamepad(RLocalGamepadDescription gamepadDesc)
 {
     gamepad = new Joystick(directInput, gamepadDesc.guid);
     gamepad.Properties.BufferSize = 128;
     gamepad.Properties.DeadZone   = 250;
     gamepad.Acquire();
 }
        public static List <RLocalGamepadDescription> GetAvailableGamepads()
        {
            var directInput = new DirectInput();
            var gamepads    = new List <RLocalGamepadDescription>();

            var deviceTypes = new DeviceType[] { DeviceType.Gamepad, DeviceType.Joystick, DeviceType.FirstPerson };

            Array.ForEach(deviceTypes, (type) =>
            {
                var devices = directInput.GetDevices(type, DeviceEnumerationFlags.AllDevices);
                foreach (var deviceInstance in devices)
                {
                    var gamepad  = new RLocalGamepadDescription();
                    gamepad.name = deviceInstance.ProductName;
                    gamepad.guid = deviceInstance.InstanceGuid;
                    gamepads.Add(gamepad);
                }
            });

            return(gamepads);
        }
示例#3
0
 public void AssignGamepad(RLocalGamepadDescription gamepadDescription)
 {
     gamepad = new RLocalGamepadInput();
     gamepad.AssignGamepad(gamepadDescription);
 }