El siguiente código debería reconocer un joystick en C#, pero me surge el problema con el segundo "joystick" dice que la variable local no está definida. (Lo copie del foro oficial de Microsoft añadiendo lo que está en cursiva para que reconozca las variables.)
// Crear dispositivo joystick
Microsoft.DirectX.DirectInput.Device joystick;
foreach (DeviceInstance di in Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly))
{
joystick = new Device(di.InstanceGuid);
continue;
}
if (joystick == null)
{
//Throw exception if joystick not found.
throw new Exception("No joystick found.");
}