@rejesterd said in Reicast - Mapping controllers??? (2020 version). Stuck.:
@Plex7 Trying to save you some reading here, in case you do eventually come back to this. Going back to the settings shown in your very first post, here's how you map your Microntek USB Joystick controllers (i.e. evdev devices #2 and #3, as shown in your reicast-joyconfig output):
Step 1: Uninstall and re-install reicast.
Step 2: If you haven't done so, map the Microntek controllers in Emulation Station.
Step 3: Run reicast-joyconfig for one of the controllers, and save the output to ~/.reicast/mappings/evdev_Microntek USB Joystick.cfg. Make sure the file is named EXACTLY 'evdev_Microntek USB Joystick.cfg' with the spaces.
Step 4: Search for 'Microntek' in /opt/retropie/configs/all/emulationstation/es_input.cfg
$ grep -i 'Microntek' /opt/retropie/configs/all/emulationstation/es_input.cfg
This will spit out an <inputConfig> element that contains a property called 'deviceGUID'. This deviceGUID corresponds to your deviceName. It will be a long string with letters and numbers like..
deviceGUID="05000000c82d00000161000000010000"
Step 5: Modify the [input] section in ~/.reicast/emu.cfg as follows:
[input]
MouseSensitivity = 100
VirtualGamepadVibration = 20
device1 = 0
device1.1 = 1
device1.2 = 1
device2 = 0
device2.1 = 1
device2.2 = 1
device3 = 8
device3.1 = 8
device3.2 = 8
device4 = 8
device4.1 = 8
device4.2 = 8
maple_/dev/input/event2 = 0
maple_/dev/input/event3 = 1
maple_/dev/input/event4 = -1
maple_<YourDeviceGUID> = -1
..where <YourDeviceGUID> is the string you obtained in the previous step above.
Step 6: Also in ~/.reicast/emu.cfg, remove the [players] section you added previously. It's not needed.
Step 7: Reboot and give it a try.
Edit: If you see any other maple_* devices show up in emu.cfg after rebooting, set their values to -1 (which means reicast should ignore them).
And for anyone else who is curious about the [input] device settings..
device1 = 0 # controller 1 is of type 'Sega Controller' (0)
device1.1 = 1 # controller 1's primary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_A1.bin
device1.2 = 1 # controller 1's secondary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_A2.bin
device2 = 0 # controller 2 is of type 'Sega Controller' (0)
device2.1 = 1 # controller 2's primary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_B1.bin
device2.2 = 1 # controller 2's secondary vmu is of type 'Sega VMU' (1), and is stored in ~/.reicast/vm_save_B2.bin
device3 = 8 # controller 3 is not configured
....
device4 = 8 # controller 4 is not configured
....
maple_/dev/input/event2 = 0 # /dev/input/event2 (Microntek USB Joystick) is controller 1
maple_/dev/input/event3 = 1 # /dev/input/event3 (Microntek USB Joystick) is controller 2
maple_/dev/input/event4 = -1 # ingore the Logitech Gamepad F710
maple_<YourDeviceGUID> = -1 # ignore the configuration for Microntek USB Joystick that is set in /opt/retropie/configs/all/emulationstation/es_input.cfg
Ok I'm hoping you can help me, 2 player controls was working great when I had only 2 controllers using Dragonrise encoders (easy get). Here is the device guid
<inputConfig type="joystick" deviceName="DragonRise Inc. Generic USB Joystick " deviceGUID="03000000790000000600000010010000">
And here is the working emu.cfg for 2 controllers
[input]
MouseSensitivity = 100
VirtualGamepadVibration = 20
device1 = 0
device1.1 = 1
device1.2 = 1
device2 = 0
device2.1 = 1
device2.2 = 1
device3 = 8
device3.1 = 8
device3.2 = 8
device4 = 8
device4.1 = 8
device4.2 = 8
maple_/dev/input/event2 = 0
maple_/dev/input/event3 = 1
maple_03000000790000000600000010010000= 1
maple_sdl_keyboard = 0
maple_sdl_mouse = 0
I then used the same setup and hooked up 4 controllers to a 4 Player cabinet. All the same Dragonrise encoders. I have the 4 controllers going into a 4port hub plugged into USB port 1 on the Pi3, then a trackball to port 2, then a mouse/keyboard combo into port 3. Player 1 works as Player 2... resulting in only 1 controller working. Reicast changed the Emu.cfg to the following
[input]
MouseSensitivity = 100
VirtualGamepadVibration = 20
device1 = 0
device1.1 = 1
device1.2 = 1
device2 = 0
device2.1 = 1
device2.2 = 1
device3 = 8
device3.1 = 8
device3.2 = 8
device4 = 8
device4.1 = 8
device4.2 = 8
maple_/dev/input/event2 = 0
maple_/dev/input/event3 = 1
maple_/dev/input/event4 = 1
maple_/dev/input/event5 = 2
maple_/dev/input/event6 = 3
maple_03000000790000000600000010010000 = 1
maple_sdl_keyboard = 0
maple_sdl_mouse = 0
I am hoping if I change some of these device/event values it should solve the problem? Do you know what I can try to change?