Hey, thanks for all of your help. I really appreciate it! Using a device emulating a lightgun like this is a pretty niche thing right now, but hopefully the numbers grow and more people can experience how fun it is

I was on commit f4bf5ef in the libretro version, which is the commit right before the one you mentioned in your message. The method you used is very clever. With the commit you just recently added, I do get the cursor jumping to the top left when I hit the edge of the screen. It returns to where it was before that when I move away. That fixed the issue with Super Russian Roulette, Lord of Gun, and Lethal Enforcers! Thanks!
Zero Point 2 is still a little strange, but I don't think it is because of the same issue. The cursor definitely does go to the top left, but I have to pull the trigger a handful of times to get reload to work. Does that one have off-screen reload accounted for in the code? The first Zero Point game didn't need any reloading, and there's a dipswitch for the second one to disable the need for reloading, so I'm wondering if maybe it was just overlooked. If that one is weird/annoying to update, then I can just play with the reload disabled. It otherwise works great.

When testing this stuff, it's possible to use a regular mouse when in lightgun mode. The Sinden gun is really just a fancy mouse that uses a camera to place the cursor in a calibrated position. The camera looks for a white border around the game screen, and then, through some software "magic," it places the cursor on screen right where you calibrated your line of sight. To the gun, "off screen" means "can't see a border," and that translates in mouse talk to "cursor on edge of screen." It's amazingly consistent. You can go off screen in one direction and maintain the alignment when you come back from another side of the screen. It allows me to turn off any emulator-generated crosshairs.
Thanks again! I wonder if the mystery of the hidden Famiclone dual gun will be figured out. 🤞