- 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_gamepad
With Flutter
flutter pub add xinput_gamepad
See 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