cInput is a custom input manager for Unity which effectively replicates, improves, and therefore replaces Unity's built-in inputmanager.
In other words, it does virtually everything Unity's input manager does and more. Not only that, but cInput is easier to use and perhaps most importantly it allows you to change controls at runtime!
cInput Pro includes the source code. If you don't need source code, check out cInput.
+ Source code included!
+ Supports Modifiers!
+ Save/load settings to/from sources other than PlayerPrefs.
+ iOS, Android, Flash and Web compatible!
+ Customize input configuration at runtime.
+ Very easy to setup.
+ Works similarly to the Input class.
+ Optional, customizable, built-in GUI menu.
+ Supports control profiles.
+ Accepts joysticks, steering wheels, etc.
Website with documentation and more examples.