@u_rebelscum
by raw I basically meant non-mouse (there also seems to be a rawinput structure on the win32 msdn microsft stuff, or rawhid for input from a USB HID device - think I got the term from there).
Ah, RawInput.
- It's an winXP only thing: crashes on winME/98, doesn't work in win2k (but at least it doesn't crash).
- The device driver sets the sturcture. Two of the three structure types are very standard "RawMouse" and "RawJoystick", which can use normal windows drivers that come with windows.
- The third is RawHID, which means the device must be a HID (Human Interface Device). If this is used, mame must add special codes that does what a device driver normally does.
- A minor plus, it looks like with the new minGW compiler mame is now using, rawinput is now included in the headers & libraries; Before the upgrade, it wasn't.
...I was thinking that there was a data-from-light-gun-->convert to mouse input-->send-to-mame-->mame converts to game-type input in driver. I though that if you had a driver that could just feed absolut co-ordinates mame could pass that directly to the emulated game.
Umm, since joystick and mice can pass absolute coordinates, why invent a special driver and data structure that does the same?
Of course, if the "data-from-lightgun" is something that's not the coordinates, such as time from start of screen refresh like from a real arcade lightgun (over simplified), at some point it needs to be converted to a coordinates before mame gets it (well, unless mame starts simulating the circuits that did the convertion on the real arcades).
This may be completely irrelevant As you say its already happy with joystick input, it probably is. If you have any experience with windows drivers in this area, I suggest dropping AndyWarne an email...
I know mame's input code okay; but write windows drivers I've never done. I don't even have time to rewrite some features I need to to make MameAnalog+ fully functional again
ATM, so learning device drivers is out for me for now.