Allow users to keymap their own controls. This would also allow different types of controllers to be used.