Just posted this in lightgun thread, forgot about this one:
RE NES lightguns - someone was asking about FCE and the Topgun lightguns a while back....
The lightguns work in FCE, at least in windowed mode, but as soon as you switch to fullscreen, we get an offset similar to the offset issues we had in some mame games until we corrected the lightguns input port's initial co-ordinates to be 'centre-of-the screen'.
I've been communicating with the author of FCEU SP (it seems the original FCE authors are not around for communication) who has also spoken to the Nintendulator authors, but the issue has not been resolved (they can't think of anything causing it, but also can not reproduce the error because they don't have lightguns - it works ok with mice.) Also the lightgun code in FCE and its variants has apparantly not been touched since it was originally written and that author as mentioned is not around...
I've tried going through the FCEU code and reading up on SDL libarys (FCEU uses SDL for its input/gfx interfaces) but can't see anything obvious causing the shift in full screen, not that it means much(!). The SDL call to retrieve the mouse co-ordinates is pretty basic so its possible the issue is in how SDL is getting the mouse co-ords in the first place when in fullscreen (ie the SDL library).
Is anyone here familar with SDL and/or C and willing to take a look? The FCEU source is available here:
http://www.zophar.net/nes.html (look at 0.98.12 code)
You can search for GetMouseData to see some of the SDL calls. (input.c and sdl.c etc...)