- Handle controller inputs easily;
- Get controllers information (Battery type, battery level, controller type and more);
- Get connected controllers;
- Set more than one button mapping per controller;
- Set input lag and controller's deadzone;
- Set and use controller's vibration motor;
With Dart
dart pub add xinput_gamepadWith Flutter
flutter pub add xinput_gamepadSee more in install section
Enable XInput:
XInputManager.enableXInput();Init and map the controller:
final Controller controller = Controller(index: 0);
controller.buttonsMapping = {
ControllerButton.A_BUTTON: () =>
print("Controller $controllerIndex - Button A"),
ControllerButton.B_BUTTON: () =>
print("Controller $controllerIndex - Button B"),
ControllerButton.X_BUTTON: () =>
print("Controller $controllerIndex - Button X"),
ControllerButton.Y_BUTTON: () =>
print("Controller $controllerIndex - Button Y"),
};
//Start to listen inputs
controller.listen();You can get the indexes of the available/connected controllers with:
ControllersManager.getIndexConnectedControllers();See all practical examples here
Access the documentation here