Does anyone have links to any specs that say exactly
how the USB joystick interface is different than the mouse
interface?
I mean if it's just signaling headers, it might not
be to impossible to create a little passthrough circuit that changes the
device signature so that it is seen as a Joystick instead of mouse.
Just a theory, as two joysticks are easily supported independantly.
USB protocol goes something like this, simplified:
* The device is plugged and says "hey, computer here I am"
* windows says, "who are you"
* device says "I have manufacture ID # xyzabc123"
* windows looks for that ID first if it has drivers installed for in or in the inf files in it's INF folder.
* If the windows driver is not installed:
--If it finds the ID, it uses whatever drivers the inf file tells it to.
--If it cannot find the ID, windows asks the user to install the floppy or CD with an inf file containtining that ID and the needed drivers (if non-standard windows drivers).
* windows sends the device an internal driver, and if needed installs the matching windows driver.
The actual data format sent once the drivers are setup depends on how the drivers tell the device to communicate.
If you a write a USB driver for the lightgun to use and edit the inf file so windows will use that driver instead of the mouse driver, you could use the lightgun as a joystick.
However, there are problems with joystick lightguns. In a nutshell, there are a lot of settings that directX uses for joysticks that with totally screw up the calibration of a joystick lightgun. Only with all the joystick settings perfectly setup will joystick lightguns be as accurate as mouse lightguns, AFAI can tell. I can go into depth if you want.