Retroarch can’t figure out how to assign my first gun4ir light gun to player 1 and my second to player 2. Each gun controls all cursors and buttons at the same time. It’s like there’s instances of the mouses that Retroarch isn’t understanding.
Using libretro’s Mame Current in-game input options also proves that each gun is controlling all guns at once. When you try to bind a key from either gun it tries to bind all 8 lightgun keys at once and fails.
There was a fix for something nearly identical to this in 2020 and another related one more recently but I don’t know what to say. I’m on a fresh 1.14 install and the problem persists.
I tried using raw input and tried using every single mouse index. Both guns only bind keys if the player port is using mouse index Default. They will only shoot in-game if they’re on Default index as well. However, both guns will control all crosshairs no matter the mouse index or if the controller is set to xbox 360 or the Gun4ir joystick.
Retroarch system config input settings only show the joystick name, not the mouse device:
(c) 2011 drventure Enterprises
Joystick Device List (Devices are in enumeration order) ...
1. 'Controller (XBOX 360 For Windows)', ID=1
2. 'Controller (XBOX 360 For Windows)', ID=3
3. 'GUN4IR Pro Micro P1', ID=0
4. 'GUN4IR Pro Micro P2', ID=2
Mouse Device List (Devices are in enumeration order) ...
1. 'HID#IrDeviceV2_Col08#2_2818a073_0_0007#'
2. 'HID#VID_046D_PID_C52B_MI_01_Col01#7_34cfd926_0_0000#'
3. 'HID#VID_2341_PID_8042_MI_02_Col03#7_1222c50c_0_0002#'
4. 'HID#VID_2341_PID_8043_MI_02_Col03#7_1948a9f2_0_0002#'
End of list
This problem is at least happening for mame and flycast cores. Sinden guns are said to work by only needing to set the mouse (joystick?) index for each player. Gun4ir does not work this way it seems.
Importantly, the gun4ir guns work fine in standalone mame with this config in mame’s ctrlr directory referencing their HIDs directly:
<mameconfig version="10">
<system name="default">
<input>
<mapdevice device="VID_2341&PID_8042" controller="GUNCODE_1"/>
<mapdevice device="VID_2341&PID_8043" controller="GUNCODE_2"/>
</input>
</system>
</mameconfig>
And this is the part of the standalone mame.ini that references the file above:
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr CtrlrConfigFIleNameHere
mouse 0
joystick 1
lightgun 1`
I’m pretty sure something is wrong with how retroarch handles these guns and I have no way of getting around it so I’m forced to use standalone mame. I have not been able to find anyone else getting two gun4ir guns working in retroarch either. This is a shame because the guns are the best option to use today.