I’ve seen questions like this stackoverflow question. However, in this and many other discussion like it the end result tends to be spamming keyboard events instead of operating, and being recognized as, a game controller.
I’m pretty certain drivers would be necessary to create that additional functionality. With that in mind, is it possible for a software application to masquerade as an input device like a analog game controller? I’m very new to developing drivers and this is beyond my scope of knwoledge.
Take a look at http://code.google.com/p/vmulti/ it implements a virtual joystick (along with some other devices) and also has a basic client api for synthesizing your own input events