Retroarch/Mapping saving/loading on different controlers
-
Config: Recalbox 7.1.1 + Pi4+Xinmotech USB + Generic X360 Gamepad
Hi,
I recently built a bartop arcade cabinet with arcade controllers (Xinmotek) and optionnaly a USB Gamepad for emulating consoles such as PSX or N64.
I have correctly mapped the saving/loading commands in retroarchcustom.cfg for the arcade controllers but when I use the Gamepad, the mapping is different (probably because the button labels are different). I would like to change this.
I would like, if possible, the mapping to depend on the plugged controler (controler name) and not on the emulated core because I may use different controllers for the same console.
Is there a way to do this?
Moreover, is there a way to simply identify the button label for a given controller?
Thanks for your help! -
@holmes You can configure the controls in the Emulastionstation Menu, and define which joystick you want to use for player 1, for example.
If you made a specific configuration of controls for an emulator, then the emulator will read that specific configuration, and if you change the joystick, you will have problems. -
@Zing Thanks for your answer. I appreciate it.
- Yes I can configure the controls in the Emulationstation menu, but unless I am mistaken, it is not possible to define the hotkeys combination (to save/load/increase or decrease sound volume)
- I have attributed the analogic Gamepad to Player 1 so that I can have access to it in N64 for example. The controls in themself are recognized. I have only an issue with the hotkeys combinations.
- I created Autoconfig files in Retroarch and tried to redefine in each of the file the hotkeys. The reason I want this is due to the fact that the button labels are different from one controller to another one and so the same labels correpond to different locations on the pads which is misleading.
This did not work. The reason may be due to the fact that the arcade controls are not unplugged (they are in the cabinet and cannot be easily unplugged) and so the USB analogic gamepad is not alone (this is a guess). - Or maybe this is related to Recalbox and the creation of config files when a game is launched. As a workaround, I got some success with the overloading mechanism as described in the documentation. I created a .retroarch.cfg file in /roms/N64 and /roms/megadrive. I just added in them the button labels for save/load/increase volume/decrease volume.
So, for these systems, I have to plug the USB analog gamepad and the hotkeys work as planned. This works but lacks fexibility since I do not have the option any more to plug or not the gamepad. I have to use it if I want the hotkeys.
I am still interested in a solution to make this work as I wanted it: the gamepad would be recognized when plugged and the associated hotkey configuration would be used. I would still have the option to not use the gamepad and the hotkeys would work for the arcade controls.
Thanks
-
it is not possible to define the hotkeys combination
Exactly, this is not possible.
in N64 for example
N64 is an emulator that usually gives a headache to configure the controls (are you using the standalone emulator, or Retroach?).
Perhaps these topics will help you:- https://forum.recalbox.com/topic/9016/a-lire-manettes-n64
- https://forum.recalbox.com/topic/23235/usb-n64-controller-setup
The reason may be due to the fact that the arcade controls are not unplugged (they are in the cabinet and cannot be easily unplugged) and so the USB analogic gamepad is not alone (this is a guess).
I'm not a developer and I don't have enough technical knowledge to give you a certainty, but, as far as I understand, your guess is right.
It is precisely because of the impossibility of easily unplugging that I suggested setting the control of player 1 before starting a game (in the case of the N64, for example).I got some success with the overloading mechanism as described in the documentation. I created a .retroarch.cfg file in /roms/N64 and /roms/megadrive. I just added in them the button labels for save/load/increase volume/decrease volume.
Sorry, but, I believe this is the best option.
As you said, this option requires you to connect the Joystick that you defined in the settings, but, I don't know an automatic recognition method as you wish.Maybe you can try the official discord, maybe someone there suggest some script or other option:
https://discord.com/invite/NbQFbGM