Keyboard and Joystick/Xbox controller homogeneous keystrokes

I had an idea for my game engine to simultaneously take in Keyboard and xbox controller input. But there would be a conflict for people who want jumping to be the same key for the xbox controller, without checking for both. I was also thinking of people implementing a GUI in game for changing the keys/input to do another thing. Would people need to make their own input controller, or something? It has to be API-level, so its easy to use.