Keeps a list of gamepads, and goes through them until it finds one.

This commit is contained in:
Sandy Noble 2013-04-04 13:28:31 +01:00
parent 2b3bfd9c5c
commit b4f56d48fd

View File

@ -11,9 +11,9 @@ ControllButton buttonStart;
ControllCoolieHat dpad;
String inputDeviceName = "Controller (Xbox 360 Wireless Receiver for Windows)";
List<String> devices = new ArrayList<String>(
Arrays.asList("Controller (Xbox 360 Wireless Receiver for Windows)",
"Controller (XBOX 360 For Windows)"));
String signalFromGamepad = null;
@ -29,7 +29,24 @@ void gamepad_init()
try
{
joypad = controllIO.getDevice(inputDeviceName);
controllIO.printDevices();
for (int i = 0; i<devices.size(); i++)
{
try
{
println("trying " + i + ": " + devices.get(i));
joypad = controllIO.getDevice(devices.get(i));
break;
}
catch (RuntimeException e)
{
println("Requested device (" + devices.get(i) + ") not found.");
joypad = null;
}
}
if (joypad != null)
{
joypad.printButtons();
buttonA = joypad.getButton("Button 0");
@ -56,11 +73,11 @@ void gamepad_init()
dpad = joypad.getCoolieHat(10);
dpad.setMultiplier(4);
dpad.plug(this, "dpadPress", ControllIO.ON_PRESS);
}
}
catch (RuntimeException e)
{
println("Requested device (" + inputDeviceName + ") not found.");
println("Exception occurred while initialising gamepad: " + e.getMessage());
}
}