I made (yes, actually soldered and programmed) a dual Wii Classic Controller adapter to USB. This adapter presents the Gamepads as a standard HID device with two Gamepads. In the Batocera menu, two gamepads are displayed at the top of the screen. The icons also light up according to which one I am using. All other emulators seems to handle this device as expected (I can play two player without any issues). Except in Gamecube games (via Dolphin). This problem has persisted since version 5.25, and I am no closer to figuring out why there is a problem.
(Link to the Gitlab project for the adapter: https://gitlab.com/johnnyegel/wii-controller-usb-adapter)
As far as I can tell, the content in “GCPadNew.ini” is correct. If I copy the content from my Batocera computer to my Ubuntu Laptop and fire up a GameCube game (for instance Mario Cart Double Dash!), both pads work and I can play dual player! So it seems the problem is not with Dolphin itself, but due to some other strangeness in Batocera which does not happen on Ubuntu.
I am running Batocera on a standard 64-bit PC (Lenovo ThinkCentre). Here is my GCPadNew.ini (generated by Batocera, which work on my Ubuntu Laptop). Any help or hints to where I should look further for answers would be greatly appreciated. Also, let me know if I should supply any additional information.
[GCPad1]
Device = evdev/0/BizarreDesign DualWiiClassic
Buttons/B = `Button 4`
C-Stick/Up = `Axis 5-`
C-Stick/Down = `Axis 5+`
C-Stick/Left = `Axis 4-`
C-Stick/Right = `Axis 4+`
Buttons/A = `Button 6`
Buttons/X = `Button 5`
Buttons/Z = `Button 2`
Triggers/L = `Button 13`
D-Pad/Up = `Button 0`
D-Pad/Down = `Button 14`
Buttons/Start = `Button 10`
D-Pad/Right = `Button 15`
Triggers/R = `Button 9`
Buttons/Hotkey = `Button 11`
Buttons/Y = `Button 3`
Main Stick/Up = `Axis 1-`
Main Stick/Down = `Axis 1+`
Main Stick/Left = `Axis 0-`
Main Stick/Right = `Axis 0+`
D-Pad/Left = `Button 1`
[GCPad2]
Device = evdev/1/BizarreDesign DualWiiClassic
Buttons/B = `Button 4`
C-Stick/Up = `Axis 5-`
C-Stick/Down = `Axis 5+`
C-Stick/Left = `Axis 4-`
C-Stick/Right = `Axis 4+`
Buttons/A = `Button 6`
Buttons/X = `Button 5`
Buttons/Z = `Button 2`
Triggers/L = `Button 13`
D-Pad/Up = `Button 0`
D-Pad/Down = `Button 14`
Buttons/Start = `Button 10`
D-Pad/Right = `Button 15`
Triggers/R = `Button 9`
Buttons/Hotkey = `Button 11`
Buttons/Y = `Button 3`
Main Stick/Up = `Axis 1-`
Main Stick/Down = `Axis 1+`
Main Stick/Left = `Axis 0-`
Main Stick/Right = `Axis 0+`
D-Pad/Left = `Button 1`