Looking for testers: custom joystick mappings for runcommand/retropie_setup menus
-
UPDATE
Those who like to update frequently may have noticed. The PR 1980 was merged, and now the "a button" means "A button".
;-)
Just like Aunt Josephine, I have a great love of grammar. And one thing that bothers me so much is seeing indefinite articles being used inappropriately. Then I'm working to put an end to that confusion about the "press a button to configure" message. I want to make "a button" mean "A button", and not "the very much specific zero button"
I tweaked
joy2key.py
to make it get the mappings from the retroarch-joypads config files. So the button you configured to be the A, will be the<enter>
on runcommand/retropie_setup menus.I've made intensive tests, and submitted a PR. But more feedback before get it merged to RetroPie-Setup, from other people with different and crazy controllers, is always appreciated.
How to test it
- Backup your current RetroPie-Setup directory structure:
cd ~ mv RetroPie-Setup official-rpsetup
- Clone my tweaked version of RetroPie-Setup:
cd ~ git clone --depth 1 --branch patch-4 https://github.com/meleu/RetroPie-Setup.git
- Launch RetroPie-Setup script:
sudo ~/RetroPie-Setup/retropie_setup.sh
-
See if your buttons while in RetroPie-Setup menus have the same mappings as in RetroArch menus (usually A for
<enter>
). -
Go to retropie_setup >> Manage packages >> core >> runcommand >> Update from binary.
-
Go back to emulationstation, launch a game, and press the real A button to access runcommand menu. See if you select options using the real A button.
-
Report any issue you have in this very same topic. Report successes too!
-
"OK meleu. Everything is fine but I want the official RetroPie-Setup back."
cd ~ rm -rf RetroPie-Setup mv official-rpsetup RetroPie-Setup
Thanks in advance!
-
@meleu Gonna test this later this day (in school right now :-) )
-
Sounds like a great idea! I'll test it during the next day.
Thanks for putting this together. I'll respond-back with any findings during the testing.
-
First: Installation ran without any errors (I expected that)
So I tested it now with 5 controllers (all I have here right now):- 8Bitdo Nes30 Pro (bluetooth): Works perfectly fine (as it did before)
- Xbox One (wired): Works perfectly fine (as it did before)
- Speedlink SL-6534 (Dragonrise, wired): Works perfectly fine (never used before)
- Playstation 4 Controller (no ds4drv, bluetooh): Works perfectly fine (it doesn't really before)
- Logitech RumblePad 2 (wired): Works perfectly fine (never used before)
What I could test is pairing the Playstation 4 controller via ds4drv (but I think this is not neccessary as it isn't needed anymore)
-
@DarkWolf How well does the PS4 dpad work for 2d games?
-
@DarkWolf That's good news! Thanks! Could you answer some more questions?
- 8Bitdo Nes30 Pro (bluetooth): Works perfectly fine (as it did before)
- Xbox One (wired): Works perfectly fine (as it did before)
When you say those controllers worked as they did before, you mean the same button mappings?
- Playstation 4 Controller (no ds4drv, bluetooh): Works perfectly fine (it doesn't really before)
You mean it started to work in my tweaked version?
-
When you say those controllers worked as they did before, you mean the same button mappings?
Yes, I mean the controller button mappings. I guess it is some kind of archivement if they work like they did before :-P
You mean it started to work in my tweaked version?
Again, yes, I've 2 versions of the Playstation 4 controller (one with a led bar on the touchpad and one without) which act completely different... Both didn't work properly in retropie-setup/runcommand but now (the version with the light bar, the newer version) works totally fine... I will test the older one (which requiered ds4drv) later this week (eventually tomorrow)
@lilbud yes, I like the dpad of the PS4 controller more than the XBox One dpad... (All in all I prefer the Xbox one controller, but this is another story :-) ).
But I've to say that it is more fun to play with the left analog joystick in most games where precission isn't needed that much! Games like Centipede are a bit harder with joysticks though -
Updated the OP. The steps to test became simpler.
-
I followed your instructions and I'm now on commit c9c7b15.
First I testet my Wii U Pro Controller:
- A invokes the runcommand menu
- B is enter in the menu
- In retropie setup invoked out of emulationstation A is enter
My PS4 controller (bluetooth, sony-hid kernel driver) doesn't work at all, outside emulationstation or games, like before.
Do I have to do something else except cloning and starting setup once to make it work right?
-
Looks very promising, but I've got a quick question for OP. Does this mean that I can map MSX keys like the "F" buttons and "Stop" to a second controller?
-
This is a great modification, thanks for working on it! I haven't been able to test it yet, but I will when I can.
I'd like to make a request though: I use an official PS3 Bluetooth controller, and in these menus, the "Select" button enters commands, and the "Left Analog Stick" navigates left/right/up/down. I'd love to be able to change that to "X/Cross" enters commands, and the "D-Pad" navigates.
It seems that your update would easily fix my Select/Cross button issue, but what about the Analog/D-Pad issue?
Does your update allow for custom mappings (in a text file, for instance), or would that require me to compile my own version?
-
@mosi0815 said in Looking for testers: custom joystick mappings for runcommand/retropie_setup menus:
First I testet my Wii U Pro Controller:
- A invokes the runcommand menu
- B is enter in the menu
- In retropie setup invoked out of emulationstation A is enter
Thanks for the feedback.
Please, go to retropie_setup >> manage packages >> core >> runcommand >> install from binary. And then runcommand menu and retropie_setup will use the same button as enter.
I'll update the OP with these instructions...
My PS4 controller (bluetooth, sony-hid kernel driver) doesn't work at all, outside emulationstation or games, like before.
Do I have to do something else except cloning and starting setup once to make it work right?
I think it's beyond the scope of my changes on joy2key. Sorry...
-
@XVO said in Looking for testers: custom joystick mappings for runcommand/retropie_setup menus:
Does this mean that I can map MSX keys like the "F" buttons and "Stop" to a second controller?
I think my changes have nothing to do with this. Sorry...
-
@cafarellidigital said in Looking for testers: custom joystick mappings for runcommand/retropie_setup menus:
I use an official PS3 Bluetooth controller, and in these menus, the "Select" button enters commands
This behaviour of PS3 controllers was my main motivation to work on this. Using select as "OK" button is annoying! :-)
what about the Analog/D-Pad issue?
Nothing changes with directionals, sorry.
Does your update allow for custom mappings (in a text file, for instance), or would that require me to compile my own version?
Look what I wrote in the OP:
I tweaked joy2key.py to make it get the mappings from the retroarch-joypads config files. So the button you configured to be the A, will be the <enter> on runcommand/retropie_setup menus.
The mappings will match the configs you make for retroarch.
;-) -
@meleu great, thank you!
-
@meleu Hopefully this gets implemented into the retropie binarys
-
@meleu I just found out that the buttons don't work in raspi-config. Cursor movement is fine but A and B don't work.
-
@meleu said in Looking for testers: custom joystick mappings for runcommand/retropie_setup menus:
Just like Aunt Josephine, I have a great love of grammar.
YES, WE GOT A LEMONY SNICKET FAN! :D
Anyways, back on track, I think this seems like a good idea. Helps to clear up confusion and helps to not trigger grammar enthusiasts.
-
Forgot to mention this as well, but is there a way to change the buttons on the main menu to be fit for each controller? e.x. PS3 and PS4 controllers, since they use different buttons.
-
@itsnitro said in Looking for testers: custom joystick mappings for runcommand/retropie_setup menus:
is there a way to change the buttons on the main menu to be fit for each controller? e.x. PS3 and PS4 controllers, since they use different buttons.
Didn't get what you mean... Which main menu are you talking about?
Anyway, if you configure the circle to be the A on your controller (PS2/PS3/PS4/Whatever), it will be the
<enter>
on the runcommand/retropie_setup. Is it you're talking about?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.