Many applications, usually gaming applications but also others, require or even demand the presence of a Joystick or a similar controlling device attached to the computer to be used to control the application. I am not sure about you all, but I don't usually walk around with every kind of joystick and computer program controlling devices known to man, in my hands. But I do have a mouse and a keyboard!
Sometimes an application allows the use of the mouse instead of the Joystick, but not always, and even then the behavior of the mouse is quite different from that of a joystick. For example with the mouse you may go to the left but you have no ability to know how much you have gone to the left, and if you let it go the application continues to think that you are still asking it to go to the left. With a joystick however you can tell how far left you have gone and once you let it go, it will bounce back to its original center position.
So yes a joystick representation transparently placed onto the screen and controlled by clicking and holding the mouse on the virtual joystick representation on the screen would be a very good program. You will however have to make it in such a way that the computer will readily think that for all practical purposed there really is a computer mouse and an additional Joystick device both connected to the computer at the same time. And make it such that it can be quickly turned on and off, put onto the screen and taken off.
It should also have the other Joystick buttons both represented on the screen and also controllable with the keyboard.