List of usage examples for com.badlogic.gdx.controllers ControllerListener ControllerListener
ControllerListener
From source file:com.tnf.ptm.screens.game.ShipControllerControl.java
License:Apache License
ShipControllerControl(PtmApplication ptmApplication) {
final GameOptions gameOptions = ptmApplication.getOptions();
Controllers.clearListeners();/* w ww .j av a2s. c o m*/
// print the currently connected controllers to the console
logger.printDebug(String.format("Controllers Size: {}", Controllers.getControllers().size));
int i = 0;
for (Controller controller : Controllers.getControllers()) {
logger.printDebug(String.format("#{}:{}", i++, controller.getName()));
}
// setup the listener that prints events to the console
Controllers.addListener(new ControllerListener() {
int indexOf(Controller controller) {
return Controllers.getControllers().indexOf(controller, true);
}
@Override
public void connected(Controller controller) {
}
@Override
public void disconnected(Controller controller) {
}
@Override
public boolean buttonDown(Controller controller, int buttonIndex) {
if (buttonIndex == gameOptions.getControllerButtonShoot()) {
controllerShoot = true;
} else if (buttonIndex == gameOptions.getControllerButtonShoot2()) {
controllerShoot2 = true;
} else if (buttonIndex == gameOptions.getControllerButtonAbility()) {
controllerAbility = true;
} else if (buttonIndex == gameOptions.getControllerButtonLeft()) {
controllerLeft = true;
} else if (buttonIndex == gameOptions.getControllerButtonRight()) {
controllerRight = true;
} else if (buttonIndex == gameOptions.getControllerButtonUp()) {
controllerUp = true;
}
return true;
}
@Override
public boolean buttonUp(Controller controller, int buttonIndex) {
if (buttonIndex == gameOptions.getControllerButtonShoot()) {
controllerShoot = false;
} else if (buttonIndex == gameOptions.getControllerButtonShoot2()) {
controllerShoot2 = false;
} else if (buttonIndex == gameOptions.getControllerButtonAbility()) {
controllerAbility = false;
} else if (buttonIndex == gameOptions.getControllerButtonLeft()) {
controllerLeft = false;
} else if (buttonIndex == gameOptions.getControllerButtonRight()) {
controllerRight = false;
} else if (buttonIndex == gameOptions.getControllerButtonUp()) {
controllerUp = false;
}
return true;
}
@Override
public boolean axisMoved(Controller controller, int axisIndex, float value) {
if (axisIndex == gameOptions.getControllerAxisShoot()) {
controllerShoot = (value > 0.5f);
} else if (axisIndex == gameOptions.getControllerAxisShoot2()) {
controllerShoot2 = (value > 0.5f);
} else if (axisIndex == gameOptions.getControllerAxisAbility()) {
controllerAbility = (value > 0.5f);
} else if (axisIndex == gameOptions.getControllerAxisLeftRight()) {
boolean invert = gameOptions.isControllerAxisLeftRightInverted();
if (value < -0.5f) {
controllerLeft = !invert;
controllerRight = invert;
} else if (value > 0.5f) {
controllerLeft = invert;
controllerRight = !invert;
} else {
controllerLeft = false;
controllerRight = false;
}
} else if (axisIndex == gameOptions.getControllerAxisUpDown()) {
boolean invert = gameOptions.isControllerAxisUpDownInverted();
if (value < -0.5f) {
controllerUp = !invert;
controllerDown = invert;
} else if (value > 0.5f) {
controllerUp = invert;
controllerDown = !invert;
} else {
controllerUp = false;
controllerDown = false;
}
}
return true;
}
@Override
public boolean povMoved(Controller controller, int povIndex, PovDirection value) {
logger.printDebug(String.format("#{}, pov {}: {}", indexOf(controller), povIndex, value));
return false;
}
@Override
public boolean xSliderMoved(Controller controller, int sliderIndex, boolean value) {
logger.printDebug(String.format("#{}, x slider {}: {}", indexOf(controller), sliderIndex, value));
return false;
}
@Override
public boolean ySliderMoved(Controller controller, int sliderIndex, boolean value) {
logger.printDebug(String.format("#{}, y slider {}: {}", indexOf(controller), sliderIndex, value));
return false;
}
@Override
public boolean accelerometerMoved(Controller controller, int accelerometerIndex, Vector3 value) {
// not printing this as we get too many values
return false;
}
});
}
From source file:com.tnf.ptm.screens.main.InputMapControllerScreen.java
License:Apache License
@Override public void setEnterNewKey(boolean newKey) { isEnterNewKey = newKey;/*from ww w. j a v a 2 s . c o m*/ // Cancel the key input if (!isEnterNewKey) { Gdx.input.setInputProcessor(null); Controllers.clearListeners(); } else { // Capture the new key input // Keyboard items Gdx.input.setInputProcessor(new InputAdapter() { @Override public boolean keyUp(int keycode) { // Don't capture the escape key if (keycode == Input.Keys.ESCAPE) { return true; } if (selectedIndex >= controllerItems) { removeDuplicateKeys(keycode); InputConfigItem item = itemsList.get(selectedIndex); item.setInputKey(Input.Keys.toString(keycode)); itemsList.set(selectedIndex, item); } Gdx.input.setInputProcessor(null); Controllers.clearListeners(); isEnterNewKey = false; return true; // return true to indicate the event was handled } }); // Controller items // setup the listener that prints events to the console Controllers.addListener(new ControllerListener() { public int indexOf(Controller controller) { return Controllers.getControllers().indexOf(controller, true); } @Override public void connected(Controller controller) { } @Override public void disconnected(Controller controller) { } @Override public boolean buttonDown(Controller controller, int buttonIndex) { // Do nothing on button down - register the button up event return true; } @Override public boolean buttonUp(Controller controller, int buttonIndex) { logger.printDebug(String.format("#{}, button {} up", indexOf(controller), buttonIndex)); if (selectedIndex < controllerItems) { removeDuplicateButtons(buttonIndex); InputConfigItem item = itemsList.get(selectedIndex); item.setIsAxis(false); item.setControllerInput(buttonIndex); item.setInputKey("Button: " + buttonIndex); itemsList.set(selectedIndex, item); } Gdx.input.setInputProcessor(null); Controllers.clearListeners(); isEnterNewKey = false; return true; // return true to indicate the event was handled } @Override public boolean axisMoved(Controller controller, int axisIndex, float value) { logger.printDebug(String.format("#{}, axis {}: {}", indexOf(controller), axisIndex, value)); if (value > 0.5f || value < -0.5f) { if (selectedIndex < controllerItems) { InputConfigItem item = itemsList.get(selectedIndex); item.setIsAxis(true); item.setControllerInput(axisIndex); item.setInputKey("Axis: " + axisIndex); itemsList.set(selectedIndex, item); } Gdx.input.setInputProcessor(null); Controllers.clearListeners(); isEnterNewKey = false; } return true; } @Override public boolean povMoved(Controller controller, int povIndex, PovDirection value) { return false; } @Override public boolean xSliderMoved(Controller controller, int sliderIndex, boolean value) { return false; } @Override public boolean ySliderMoved(Controller controller, int sliderIndex, boolean value) { return false; } @Override public boolean accelerometerMoved(Controller controller, int accelerometerIndex, Vector3 value) { return false; } }); } }
From source file:org.destinationsol.game.screens.ShipControllerControl.java
License:Apache License
public ShipControllerControl(SolApplication cmp) { final GameOptions gameOptions = cmp.getOptions(); Controllers.clearListeners();// w ww . j a v a 2 s . c om // print the currently connected controllers to the console System.out.println("Controllers: " + Controllers.getControllers().size); int i = 0; for (Controller controller : Controllers.getControllers()) { System.out.println("#" + i++ + ": " + controller.getName()); } // setup the listener that prints events to the console Controllers.addListener(new ControllerListener() { public int indexOf(Controller controller) { return Controllers.getControllers().indexOf(controller, true); } @Override public void connected(Controller controller) { } @Override public void disconnected(Controller controller) { } @Override public boolean buttonDown(Controller controller, int buttonIndex) { if (buttonIndex == gameOptions.getControllerButtonShoot()) { controllerShoot = true; } else if (buttonIndex == gameOptions.getControllerButtonShoot2()) { controllerShoot2 = true; } else if (buttonIndex == gameOptions.getControllerButtonAbility()) { controllerAbility = true; } else if (buttonIndex == gameOptions.getControllerButtonLeft()) { controllerLeft = true; } else if (buttonIndex == gameOptions.getControllerButtonRight()) { controllerRight = true; } else if (buttonIndex == gameOptions.getControllerButtonUp()) { controllerUp = true; } return true; } @Override public boolean buttonUp(Controller controller, int buttonIndex) { if (buttonIndex == gameOptions.getControllerButtonShoot()) { controllerShoot = false; } else if (buttonIndex == gameOptions.getControllerButtonShoot2()) { controllerShoot2 = false; } else if (buttonIndex == gameOptions.getControllerButtonAbility()) { controllerAbility = false; } else if (buttonIndex == gameOptions.getControllerButtonLeft()) { controllerLeft = false; } else if (buttonIndex == gameOptions.getControllerButtonRight()) { controllerRight = false; } else if (buttonIndex == gameOptions.getControllerButtonUp()) { controllerUp = false; } return true; } @Override public boolean axisMoved(Controller controller, int axisIndex, float value) { if (axisIndex == gameOptions.getControllerAxisShoot()) { if (value > 0.5f) { controllerShoot = true; } else { controllerShoot = false; } } else if (axisIndex == gameOptions.getControllerAxisShoot2()) { if (value > 0.5f) { controllerShoot2 = true; } else { controllerShoot2 = false; } } else if (axisIndex == gameOptions.getControllerAxisAbility()) { if (value > 0.5f) { controllerAbility = true; } else { controllerAbility = false; } } else if (axisIndex == gameOptions.getControllerAxisLeftRight()) { boolean invert = gameOptions.isControllerAxisLeftRightInverted(); if (value < -0.5f) { controllerLeft = invert ? false : true; controllerRight = invert ? true : false; } else if (value > 0.5f) { controllerLeft = invert ? true : false; controllerRight = invert ? false : true; } else { controllerLeft = false; controllerRight = false; } } else if (axisIndex == gameOptions.getControllerAxisUpDown()) { boolean invert = gameOptions.isControllerAxisUpDownInverted(); if (value < -0.5f) { controllerUp = invert ? false : true; controllerDown = invert ? true : false; } else if (value > 0.5f) { controllerUp = invert ? true : false; controllerDown = invert ? false : true; } else { controllerUp = false; controllerDown = false; } } return true; } @Override public boolean povMoved(Controller controller, int povIndex, PovDirection value) { System.out.println("#" + indexOf(controller) + ", pov " + povIndex + ": " + value); return false; } @Override public boolean xSliderMoved(Controller controller, int sliderIndex, boolean value) { System.out.println("#" + indexOf(controller) + ", x slider " + sliderIndex + ": " + value); return false; } @Override public boolean ySliderMoved(Controller controller, int sliderIndex, boolean value) { System.out.println("#" + indexOf(controller) + ", y slider " + sliderIndex + ": " + value); return false; } @Override public boolean accelerometerMoved(Controller controller, int accelerometerIndex, Vector3 value) { // not printing this as we get to many values return false; } }); }
From source file:org.destinationsol.menu.InputMapControllerScreen.java
License:Apache License
@Override public void setEnterNewKey(boolean newKey) { isEnterNewKey = newKey;// w w w . j a va 2s.co m // Cancel the key input if (!isEnterNewKey) { Gdx.input.setInputProcessor(null); Controllers.clearListeners(); } else { // Capture the new key input // Keyboard items Gdx.input.setInputProcessor(new InputAdapter() { @Override public boolean keyUp(int keycode) { // Don't capture the escape key if (keycode == Input.Keys.ESCAPE) return true; if (selectedIndex >= controllerItems) { removeDuplicateKeys(keycode); InputConfigItem item = itemsList.get(selectedIndex); item.setInputKey(Input.Keys.toString(keycode)); itemsList.set(selectedIndex, item); } Gdx.input.setInputProcessor(null); Controllers.clearListeners(); isEnterNewKey = false; return true; // return true to indicate the event was handled } }); // Controller items // setup the listener that prints events to the console Controllers.addListener(new ControllerListener() { public int indexOf(Controller controller) { return Controllers.getControllers().indexOf(controller, true); } @Override public void connected(Controller controller) { } @Override public void disconnected(Controller controller) { } @Override public boolean buttonDown(Controller controller, int buttonIndex) { // Do nothing on button down - register the button up event return true; } @Override public boolean buttonUp(Controller controller, int buttonIndex) { System.out.println("#" + indexOf(controller) + ", button " + buttonIndex + " up"); if (selectedIndex < controllerItems) { removeDuplicateButtons(buttonIndex); InputConfigItem item = itemsList.get(selectedIndex); item.setIsAxis(false); item.setControllerInput(buttonIndex); item.setInputKey("Button: " + buttonIndex); itemsList.set(selectedIndex, item); } Gdx.input.setInputProcessor(null); Controllers.clearListeners(); isEnterNewKey = false; return true; // return true to indicate the event was handled } @Override public boolean axisMoved(Controller controller, int axisIndex, float value) { System.out.println("#" + indexOf(controller) + ", axis " + axisIndex + ": " + value); if (value > 0.5f || value < -0.5f) { if (selectedIndex < controllerItems) { InputConfigItem item = itemsList.get(selectedIndex); item.setIsAxis(true); item.setControllerInput(axisIndex); item.setInputKey("Axis: " + axisIndex); itemsList.set(selectedIndex, item); } Gdx.input.setInputProcessor(null); Controllers.clearListeners(); isEnterNewKey = false; } return true; } @Override public boolean povMoved(Controller controller, int povIndex, PovDirection value) { return false; } @Override public boolean xSliderMoved(Controller controller, int sliderIndex, boolean value) { return false; } @Override public boolean ySliderMoved(Controller controller, int sliderIndex, boolean value) { return false; } @Override public boolean accelerometerMoved(Controller controller, int accelerometerIndex, Vector3 value) { return false; } }); } }