PS3 Controller Mapping Issues
-
Hello All,
This is my first post here. Thanks for this great resource.
Pi Model: 3 B
RetroPie Version Used: 3.8.1
Built From: SD Image
USB Devices connected: PS3 ControllerI recently set up retropie/emulation station for the first time and was very happy with it, until my PS3 controller stopped working normally. It works fine in emulation station, but when I launch an emulator the mappings are incorrect and I am unable to use the in-game hotkeys (ie select-start to quit game). I have tried reconfiguring the controller in both emulation station and the retroarch menu with no luck, but as far as I know I have not enabled writing to retroarch.cfg. I have also tried removing and reconfiguring the PS3 controller in the retroarch menu. This is really strange because I wasnt trying to change any settings when it happened - the controller just stopped working normally.
Any guidance would be greatly appreciated.
-
Is there any chance that this could have been caused by updating the auto-config profiles in retroarchs online updater? I've tried to test by turning off auto-config but I cannot seem to save any changes to the retroarch config...
-
If no one here has any recommendations, is there another forum where I might have more luck?
thanks.
-
@MD5HASH please post the contents of
~/.emulationstation/es_input.cfg
and any files in/opt/retropie/configs/all/retroarch-joypads
-
pi@retropie:~/.emulationstation $ sudo nano es_input.cfg GNU nano 2.2.6 File: es_input.cfg Modified <?xml version="1.0"?> <inputList> <inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1"> <input name="a" type="key" id="122" value="1" /> <input name="b" type="key" id="120" value="1" /> <input name="down" type="key" id="1073741905" value="1" /> <input name="left" type="key" id="1073741904" value="1" /> <input name="leftanalogdown" type="key" id="118" value="1" /> <input name="leftanalogleft" type="key" id="109" value="1" /> <input name="leftanalogright" type="key" id="108" value="1" /> <input name="leftanalogup" type="key" id="105" value="1" /> <input name="leftbottom" type="key" id="113" value="1" /> <input name="leftthumb" type="key" id="104" value="1" /> <input name="lefttop" type="key" id="114" value="1" /> <input name="right" type="key" id="1073741903" value="1" /> <input name="rightanalogdown" type="key" id="106" value="1" /> <input name="rightanalogleft" type="key" id="98" value="1" /> <input name="rightanalogup" type="key" id="107" value="1" /> <input name="rightbottom" type="key" id="119" value="1" /> <input name="rightthumb" type="key" id="103" value="1" /> <input name="righttop" type="key" id="116" value="1" /> <input name="select" type="key" id="1073742053" value="1" /> <input name="start" type="key" id="13" value="1" /> <input name="up" type="key" id="1073741906" value="1" /> <input name="x" type="key" id="97" value="1" /> <input name="y" type="key" id="115" value="1" /> </inputConfig> <inputConfig type="joystick" deviceName="Sony PLAYSTATION(R)3 Controller" deviceGUID="030000004c0500006802000011010000"> <input name="a" type="button" id="13" value="1" /> <input name="b" type="button" id="14" value="1" /> <input name="down" type="button" id="6" value="1" /> <input name="left" type="button" id="7" value="1" /> <input name="leftanalogdown" type="axis" id="1" value="1" /> <input name="leftanalogleft" type="axis" id="0" value="-1" /> <input name="leftanalogright" type="axis" id="0" value="1" /> <input name="leftanalogup" type="axis" id="1" value="-1" /> <input name="leftbottom" type="button" id="8" value="1" /> <input name="leftthumb" type="button" id="1" value="1" /> <input name="lefttop" type="button" id="10" value="1" /> <input name="right" type="button" id="5" value="1" /> <input name="rightanalogdown" type="axis" id="3" value="1" /> <input name="rightanalogleft" type="axis" id="2" value="-1" /> <input name="rightanalogright" type="axis" id="2" value="1" /> <input name="rightanalogup" type="axis" id="3" value="-1" /> <input name="rightbottom" type="button" id="9" value="1" /> <input name="rightthumb" type="button" id="2" value="1" /> <input name="righttop" type="button" id="11" value="1" /> <input name="select" type="button" id="0" value="1" /> <input name="start" type="button" id="3" value="1" /> <input name="up" type="button" id="4" value="1" /> <input name="x" type="button" id="12" value="1" /> <input name="y" type="button" id="15" value="1" /> </inputConfig> <inputConfig type="joystick" deviceName="PLAYSTATION(R)3 Controller" deviceGUID="060000004c0500006802000000010000"> <input name="a" type="button" id="13" value="1" /> <input name="b" type="button" id="14" value="1" /> <input name="down" type="button" id="6" value="1" /> <input name="left" type="button" id="7" value="1" /> <input name="leftanalogdown" type="axis" id="1" value="1" /> <input name="leftanalogleft" type="axis" id="0" value="-1" /> <input name="leftanalogdown" type="axis" id="1" value="1" /> <input name="leftanalogleft" type="axis" id="0" value="-1" /> <input name="leftanalogright" type="axis" id="0" value="1" /> <input name="leftanalogup" type="axis" id="1" value="-1" /> <input name="leftbottom" type="button" id="8" value="1" /> <input name="leftthumb" type="button" id="1" value="1" /> <input name="lefttop" type="button" id="10" value="1" /> <input name="right" type="button" id="5" value="1" /> <input name="rightanalogdown" type="axis" id="3" value="1" /> <input name="rightanalogleft" type="axis" id="2" value="-1" /> <input name="rightanalogright" type="axis" id="2" value="1" /> <input name="rightanalogup" type="axis" id="3" value="-1" /> <input name="rightbottom" type="button" id="9" value="1" /> <input name="rightthumb" type="button" id="2" value="1" /> <input name="righttop" type="button" id="11" value="1" /> <input name="select" type="button" id="0" value="1" /> <input name="start" type="button" id="3" value="1" /> <input name="up" type="button" id="4" value="1" /> <input name="x" type="button" id="12" value="1" /> <input name="y" type="button" id="15" value="1" /> </inputConfig> </inputList>
-
There are no files in retroarch-joypads, only more folders. I think that there were files but I deleted them while troubleshooting.
-
I see ps3 controller configs in the /retroarch-joypads/hids and /retroarch-joypads/xinput files. Are those relevant?
-
Can anyone help with this?
-
Please be a patient! - I answer questions as I can, but answering user questions on RetroPie is not my job.
The problem is that it looks like you have deleted
es_systems.cfg
at some point and then reconfigured your joypads/joystick and it has lost the important config that triggers the configuration of RetroArch.You should not remove
es_sytems.cfg
.To restore it, please re-install emulationstation from RetroPie-Setup menu 5, reboot, and then reconfigure your controller in EmulationStation.
-
Also not sure what you mean by
/retroarch-joypads/hids
you have a file or folder called/opt/retropie/configs/all/retroarch-joypads/hids
or are you referring to another path ? That is not something installed by default. -
Apologies for my impatience and thank you for all of your help.
Reinstalling emulationstation did create PLAYSTATION(R)3Controller.cfg in /retroarch-joypds, but after reconfiguring the controller in emulationstation the problem is still not resolved. The contents of PLAYSTATION(R)3Controller.cfg is pasted below.
input_device = "PLAYSTATION(R)3 Controller"
input_driver = "udev"
input_r_y_plus_axis = "+3"
input_l3_btn = "1"
input_r_x_minus_axis = "-2"
input_r_btn = "9"
input_save_state_btn = "9"
input_l2_btn = "10"
input_start_btn = "3"
input_exit_emulator_btn = "3"
input_l_y_minus_axis = "-1"
input_l_btn = "8"
input_load_state_btn = "8"
input_up_btn = "4"
input_r_y_minus_axis = "-3"
input_a_btn = "13"
input_b_btn = "14"
input_reset_btn = "14"
input_down_btn = "6"
input_r2_btn = "11"
input_l_x_plus_axis = "+0"
input_l_y_plus_axis = "+1"
input_r3_btn = "2"
input_right_btn = "5"
input_state_slot_increase_btn = "5"
input_x_btn = "12"
input_menu_toggle_btn = "12"
input_select_btn = "0"
input_enable_hotkey_btn = "0"
input_l_x_minus_axis = "-0"
input_y_btn = "15"
input_left_btn = "7"
input_state_slot_decrease_btn = "7"
input_r_x_plus_axis = "+2" -
And yes, there is a 'hids' folder in /opt/retropie/configs/all/retroarch-joypads, as well as several others.
pi@retropie:/opt/retropie/configs/all/retroarch-joypads $ ls
android dinput hid linuxraw parport PLAYSTATION(R)3Controller.cfg qnx sdl2 udev xinput -
I had a similar issue happen one time using wired controllers. I went in and removed all of the controller configs in /opt/retropie/configs/all/retroarch-joypads then restarted and re-mapped the controllers as new. I was messing with configs within retroarch and had the save on exit feature turned on. It didn't like something. I no longer use save on exit and just save new configs and edit the files if needed. That way I can save a backup copy of a working config and revert to it via SSH if needed.
I never figured out how I broke the hot keys the one time, but it was pretty easy to delete the configs and just reboot and create a new one.
-
@MD5HASH which emulator are you running? retroarch configs are for libretro (lr-) emulators only. other emulators may have problems elsewhere.
-
@mrbwa1 this worked! I just took all contents of retroarch-joypads, dropped them in a new folder called 'backup,' rebooted, and reconfigured the controller. Shortcut keys are now working normally. Thank you for your help everyone!
-
@mrbwa1 said in PS3 Controller Mapping Issues:
It didn't like something. I no longer use save on exit and just save new configs and edit the files if needed.
You can use the configuration editor from the RetroPie menu to adjust most common RetroArch settings.
-
@BuZz said in PS3 Controller Mapping Issues:
@mrbwa1 said in PS3 Controller Mapping Issues:
It didn't like something. I no longer use save on exit and just save new configs and edit the files if needed.
You can use the configuration editor from the RetroPie menu to adjust most common RetroArch settings.
I had that issue early on before I learned to manually edit files. Not sure if I just missed something easy back then or what. In the end, once I learned to manually edit, it was easier to understand the underlying fie structure and how things worked. Now, it's second nature to make changes either via the files or the retroarch configs within ES.
Great reminder that you can edit stuff within the menus (I'm just oldschool, so SSH is comfortable).
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.