From JTK software:
JoyToKey enables you to control many softwares (like web games, browsers, office applications or even Windows itself) by using your favorite windows joystick. Whenever you press joystick buttons and sticks, JoyToKey will emulate keyboard strokes or mouse inputs based on joystick input so that the target application works as if you used a real keyboard or mouse. You can create multiple configuration files to switch across different key/mouse assignments. It also supports the automatic association with target applications so that the config file will switch automatically when the target application changes.