public void Unacquire() { if (DJoystick != null) { DJoystick.Unacquire(); } }
public void Acquire() { if (DJoystick != null) { DJoystick.Acquire(); } }
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(); }
protected override void Dispose(bool disposing) { if (disposing) { Unacquire(); if (DJoystick != null) { DJoystick.Dispose(); } directInput.Dispose(); } base.Dispose(disposing); }
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()); } }