@spud11 I’m sure you have this figured out now, but in your config I can see a few things that would cause your controllers to have input problems and also crossover.
In this line you are missing or between the two joysticks:
input_map[p1_button4] joystick_button[2,1] joystick_digital[0,0,2,1]
Should be:
input_map[p1_button4] joystick_button[2,1] or joystick_digital[0,0,2,1]
Also on the raspberry each controller port has a number starting with 0. In the config it’s the first number after the [ bracket. On your line above the P1 joystick_button[2,1] is mapped to Controller 3, but joystick_digital[0,0,2,1] looks good and is mapped correctly to Controller 1.
0 = port 1 (Should be P1) Controller 1
1 = port 2 (Should be P2) Controller 2
2 = port 3 (Should be P3) Controller 3
3 = port 4 (Should be P4) Controller 4
You would want to line all of these up this way. Theough your config I can see Player 1 mapped to Player 2 and vice versa. Also there are crossovers on the UI and Coin settings. Not your fault bro and I felt your pain.
Made this video and hope it helps as far as understanding the config and how to line things up. It’s for PS3 controllers but the same principles apply. Any questions reach out.