Exemplo n.º 1
0
 public void Unacquire()
 {
     if (DJoystick != null)
     {
         DJoystick.Unacquire();
     }
 }
Exemplo n.º 2
0
 public void Acquire()
 {
     if (DJoystick != null)
     {
         DJoystick.Acquire();
     }
 }
Exemplo n.º 3
0
        public void ObtainJoystick()
        {
            if (DJoystick != null)
            {
                DJoystick.Dispose();
            }

            directInput = new DirectInput();

            // Find a Joystick Guid
            var joystickGuid = Guid.Empty;

            foreach (var deviceInstance in directInput.GetDevices(DeviceType.Joystick, DeviceEnumerationFlags.AllDevices))
            {
                joystickGuid = deviceInstance.InstanceGuid;
            }

            if (joystickGuid == Guid.Empty)
            {
                Log.LogMessage("No joystick connected");
                return;
            }

            // Instantiate the joystick
            DJoystick = new DirectJoystick(directInput, joystickGuid);

            Log.LogMessage("Found Joystick with GUID: {0}		Name: {1}", joystickGuid, DJoystick.Information.ProductName);

            // Set BufferSize in order to use buffered data.
            DJoystick.Properties.BufferSize = 128;

            // Acquire the joystick
            DJoystick.Acquire();
        }
Exemplo n.º 4
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                Unacquire();
                if (DJoystick != null)
                {
                    DJoystick.Dispose();
                }
                directInput.Dispose();
            }

            base.Dispose(disposing);
        }
Exemplo n.º 5
0
        public void Update()
        {
            if (DJoystick == null)
            {
                return;
            }

            DJoystick.Poll();
            var datas = DJoystick.GetBufferedData();

            foreach (var state in datas)
            {
                JoystickState.Update(state);
                //Log.WriteLine(state.ToString());
            }
        }