A Control represents a form of input that can be pressed, held, and released, such as a key, mouse button, or controller button.
A ControllerButtonControl is a ControllerControl that represents a button on a game controller.
A ControllerControl is a Control that represents an input on a game controller.
A ControllerDirectionControl is a ControllerControl that represents a Direction - up, down, left, or right - in which the primary axes of a game controller can be moved.
A KeyControl is a Control that represents a key on the keyboard.
A MouseButtonControl is a Control that represents a button on the mouse.
An InvalidControlException is a RuntimeException that is thrown upon the attempted construction of an invalid Control.