Hello,
When starting any gamecube game with dolphin, the first three of my connected xbox 360 wireless controllers will map correctly on startup. These controllers work fine and everything appears normal in the GCPadNew.ini file. However, the 4th xbox 360 wireless controller will always be missing and must be manually mapped (or loaded from a profile) each and every time. Having all four controllers connected at boot makes no difference. Having no controllers connected at boot and then connecting each one at a time makes no difference. The most controllers I can ever have mapped on startup is three. Adding a fourth controller manually works with the front end, but must be done each time - and these settings are lost on exit each time.
Is there any way to fix this? Perhaps a loop has been misconfigured since the first three controllers work reliably?
I've also tried to hardcode the settings in GCPadNew.ini , but it is constantly overwritten and I cannot prevent it from being changed.
Note: I've also verified that this weird three controller behavior extends to the Wii also, with some slight differences. With wii, the first three controllers will work on startup, but the mappings are reset each time. Similarly to the gamecube, the config for the fourth controller is missing each time the emulator is restarted. The biggest difference being that the fourth controller for the Wii will never work, even when manually added. (When doing this, the settings do appear correctly in WiimoteNew.ini, but the controller still does not work). Another difference is that the default settings there are constantly overwritten (with different configs than what I used last). This means I have four controllers to correct on each game start.
Perhaps the temporary solution I need is some way to hardcode these config files and prevent them from being re-generated by the system each time. Any ideas on how to do this?
More details and steps to reproduce follow below. Thank you,
ym
Recalbox version (build) : 6.1.1 for PC (x64)
Hardware (Micro SD, Power Supply, etc.): Core 2 Duo E8500, ATI HD6950
Controller(s): Four Microsoft XBOX360 wireless coneected with one USB wireless adapter
Emulator used: Dolphin
Is the problem reproducible (how): Yes, steps follow:
- Map and Connect four controllers in recalbox frontend
- Start gamecube game, which launches dolphin
- Only 3 of the 4 controllers work...
- Check \recalbox\share\system\configs\dolphin-emu\GCPadNew.ini
See that the first three controllers have entries, but the 4th controller does not...
- Copy one of the preceding entries for the fourth controller using the built in control-mapper in dolphin so that the 4th controller has been connected.
- Click Play
- Recheck \recalbox\share\system\configs\dolphin-emu\GCPadNew.ini
See that now all four controllers have entries, and the 4th controller now works !!!
- Restart the emulator
- Recheck \recalbox\share\system\configs\dolphin-emu\GCPadNew.ini
See that the 4th controller is missing again, and no longer works
- Scream loudly in anguish
The full config file (with all 4 controllers present) follows. Please be aware that [GCPad4] and everything below it are constantly being removed)
[GCPad1]
Device = evdev/0/Xbox 360 Wireless Receiver (XBOX)
Main Stick/Dead Zone = 25.000000000000000
C-Stick/Dead Zone = 25.000000000000000
Buttons/X = Button 1
C-Stick/Up = Axis 3-
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2-
C-Stick/Right = Axis 2+
Buttons/A = Button 0
Buttons/B = Button 2
Buttons/Z = Button 7
Triggers/L = Button 4
D-Pad/Up = Button 15
Buttons/Start = Button 9
D-Pad/Down = Button 16
Triggers/R = Button 5
D-Pad/Right = Button 14
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 13
[GCPad2]
Device = evdev/1/Xbox 360 Wireless Receiver (XBOX)
Main Stick/Dead Zone = 25.000000000000000
C-Stick/Dead Zone = 25.000000000000000
Buttons/X = Button 1
C-Stick/Up = Axis 3-
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2-
C-Stick/Right = Axis 2+
Buttons/A = Button 0
Buttons/B = Button 2
Buttons/Z = Button 7
Triggers/L = Button 4
D-Pad/Up = Button 15
Buttons/Start = Button 9
D-Pad/Down = Button 16
Triggers/R = Button 5
D-Pad/Right = Button 14
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 13
[GCPad3]
Device = evdev/2/Xbox 360 Wireless Receiver (XBOX)
Main Stick/Dead Zone = 25.000000000000000
C-Stick/Dead Zone = 25.000000000000000
Buttons/X = Button 1
C-Stick/Up = Axis 3-
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2-
C-Stick/Right = Axis 2+
Buttons/A = Button 0
Buttons/B = Button 2
Buttons/Z = Button 7
Triggers/L = Button 4
D-Pad/Up = Button 15
Buttons/Start = Button 9
D-Pad/Down = Button 16
Triggers/R = Button 5
D-Pad/Right = Button 14
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 13
[GCPad4]
Device = evdev/3/Xbox 360 Wireless Receiver (XBOX)
Buttons/A = Button 0
Buttons/B = Button 2
Buttons/X = Button 1
Buttons/Y = Button 3
Buttons/Z = Button 7
Buttons/Start = Button 9
Main Stick/Dead Zone = 25.000000000000000
Main Stick/Up = Axis 1-
Main Stick/Down = Axis 1+
Main Stick/Left = Axis 0-
Main Stick/Right = Axis 0+
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Up = Axis 3-
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2-
C-Stick/Right = Axis 2+
Triggers/L = Button 4
Triggers/R = Button 5
Rumble/Motor = Sine
D-Pad/Up = Button 15
D-Pad/Down = Button 16
D-Pad/Left = Button 13
D-Pad/Right = Button 14