The Input controller is a very simple singleton that provides references to the input object instances.
You can use these to handle user input on your project. No need to go around creating listeners everywhere. Any other input sources being maintained by the engine in the future will be added here.
The Mouse instance being used to handle mouse events.
The Keyboard instance being used to handle keyboard events.
The Touch instance being used to handle touch events.
A list of GamepadController instances being used to handle gamepad interactions. It holds all the active Gamepads in order of activation.