I never found a software package to do that, but I did find and buy a
controller that comes with software, that allows you to map keys and/or
whole words to the buttons. (it only works with that controller though)
It's not generic...
I use the "Logitech Extreme 3d Pro"
It does extactly what you're describing.
An entire Keyboard only game can be custom mapped to the buttons.
The gui is kind of a pain, but worth it when you're done setting it up.
I imagine there are other brands that come with custom mapping software
as well. Might want to surf around and read the features on other brands
and compare prices.
ps..mine is a joystick controller, but I'm sure you could find a nintendo
style one as well, in case that's the physical type you want.