vandale: Most likely. Don't compare Macs and Pcs though... Macs are wierd.
isamu: Yes that's what we are referring to, but I do NOT have the source code. If I did I could have added these additions in like an hour.
Anyway, I woke up eraly this morning (bah! I need to sleep!) and thought I would implement my mice enumeration function for that little rawmouse app I posted a week or so ago. The good news is the enumeration numbers of the mice are in the same order as model2 detects them! With that knowledge in mind here is the revised plan of attack for the lightgun games:
1. You setup in the troubleshooter if you'll be using mice (or lightgun's that show up as mice) or joysticks.
2. If you are using joysticks, prior to m2 launching, the ts writes to the emulator.ini and sets rawinput to 0, if you are using mice, it sets rawinput to 1 and sets the RawDeviceP1 and P2 in the ini to the devices you have defined in the troublshooter.
3. Instead of ts getting launched automatically via lua scripts, we do it the other way around, ts now launches m2.
So basically what will happen in lamens terms is if you are using a joystick device, I'll use my reload NOPs and you'll map your joystick buttons of choice in Model2. If you are using mice, I won't use any code, instead just letting m2 read the mice buttons as normal. In either case I'll block out the axis movement and handle it myself.
In other words, it's merely the axis movement in m2 that's broken, so instead of pulling my hair out trying to include triggers as well, why not just let m2 handle them normally? The only catch will be that you can't mix and match devices. You can use either mice-based devices or joystick ones, not one of each.
This will cover every game but bel, and honestly I've accepted the fact that it will need a convoluted custom function anyway. Also it was mentioned in another thread that Virtua ON has screwed up controls. It will take another custom function, but if it's fixable I'll do that one as well.