Xna Input is a very flexible library for creating input controls. It allows complete separation between input device implementation, and input use. It works very well with settings configuration files to allow the user to customize their experience. Supports game pad, keyboard and mouse. Xna Input Also allows easy creation of custom input controls.