PS4 Controllers configuration with retroarch custom config Problems
Hy, i got a problem with my custom retroarch config with PS4 controllers. Only the joystick is working and I don't get why. Before I was using 8bitdo SFC30 pads and it was working flawlessly
Here is my config:
input_joypad_driver = sdl2 #input_player1_analog_dpad_mode = 1 #input_player4_analog_dpad_mode = "1" #input_player4_analog_dpad_mode = "1" #input_player4_analog_dpad_mode = "1" input_enable_hotkey = "escape" #input_exit_emulator = "escape" input_player1_joypad_index = 0 input_player1_up_axis = "-1" input_player1_down_axis = "+1" input_player1_left_axis = "-0" input_player1_right_axis = "+0" input_player1_up_axis_label = "D-Pad Up" input_player1_down_axis_label = "D-Pad Down" input_player1_left_axis_label = "D-Pad Left" input_player1_right_axis_label = "D-Pad Right" #input_player1_up_axis = -1 #input_player1_down_axis = +1 #input_player1_left_axis = -0 #input_player1_right_axis = +0 input_player1_a_btn = 306 input_player1_b_btn = 305 input_player1_x_btn = 307 input_player1_y_btn = 304 input_player1_l_btn = 308 input_player1_r_btn = 309 input_player1_select_btn = 312 input_player1_start_btn = 313 input_enable_hotkey_btn = 316 #Controls with Hotkey ########################## input_load_state_btn = 307 input_save_state_btn = 304 input_state_slot_decrease_axis = +1 input_state_slot_increase_axis = -1 input_menu_toggle_btn = 305 input_exit_emulator_btn = 313 input_screenshot_btn = 308 input_hold_fast_forward_axis = +0 input_rewind_axis = -0
I checked the numbers with sdl2-jstest
I was using the same syntax with just different numbers for my 8bitdo.
What did I do wrong ?
Thanks in advance.
Before I was using this for example for my P2,P3,P4 with 8bitdo pads:
#Player 2 Settings input_player2_joypad_index = 1 input_player2_up_axis = "-1" input_player2_down_axis = "+1" input_player2_left_axis = "-0" input_player2_right_axis = "+0" input_player2_up_axis_label = "D-Pad Up" input_player2_down_axis_label = "D-Pad Down" input_player2_left_axis_label = "D-Pad Left" input_player2_right_axis_label = "D-Pad Right" #input_player2_up_axis = -1 #input_player2_down_axis = +1 #input_player2_left_axis = -0 #input_player2_right_axis = +0 input_player2_a_btn = 170 input_player2_b_btn = 171 input_player2_x_btn = 173 input_player2_y_btn = 174 input_player2_l_btn = 176 input_player2_r_btn = 177 input_player2_select_btn = 180 input_player2_start_btn = 181 #Player 3 Settings input_player3_joypad_index = 2 input_player3_up_axis = "-1" input_player3_down_axis = "+1" input_player3_left_axis = "-0" input_player3_right_axis = "+0" input_player3_up_axis_label = "D-Pad Up" input_player3_down_axis_label = "D-Pad Down" input_player3_left_axis_label = "D-Pad Left" input_player3_right_axis_label = "D-Pad Right" #input_player3_up_axis = -1 #input_player3_down_axis = +1 #input_player3_left_axis = -0 #input_player3_right_axis = +0 input_player3_a_btn = 170 input_player3_b_btn = 171 input_player3_x_btn = 173 input_player3_y_btn = 174 input_player3_l_btn = 176 input_player3_r_btn = 177 input_player3_select_btn = 180 input_player3_start_btn = 181
Still nobody to help ? I can't manage to make my controller work in 4.1. No one is answering multiple posts :( A lot less help than before !
@eightkiller a lot more people asking for support, but still the same 3 sheep to answer ...
Why don't you let Retroarch set your configuration ? Just look for the "Bind player 1" option, remap, save and then edit files accordingly !
Your DS4 is not using the SDL2 input driver but the udev one. So I'm not sure you get the right values from sdl2-jstest
Yeah, U seem to have a lot of requests ! :s
In fact I'm using a custom retroarchconfig for setting overlays for differents emulators (for example ):
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = /opt/recalbox/configs/snes/ input_libretro_device_p2 = "257" video_shader_enable = false # We dont need them video_fullscreen_x = 1920 # Horizontal Monitor resolution video_fullscreen_y = 1080 # Vertical Monitor resolution custom_viewport_width = 1194 # Horizontal emulator resolution custom_viewport_height = 896 # Vertical emulator resolution custom_viewport_x = 363 # The first X pixel of the emulator image custom_viewport_y = 92 # The first Y pixel of the emulator image aspect_ratio_index = 22 # Aspect Ratio set to custom input_overlay = /opt/recalbox/emulators/retroarch/overlays/16-9/Scanlines_4x_1080p_Borderless.cfg # Overlayimage input_overlay_enable = true # Overlay Image enable input_overlay_opacity = 0.7 # opacity of the overlayimage input_overlay_scale = "1.000000" # Scalesize of the overlay image video_smooth = true # Smoth the emulated image, not the overlay, If you set it to false, it will remain sharp but blocky. #include "/recalbox/configs/retroarch/retroarchcustom_PM.cfg"
Could you just tell me where is the default retroarch.cfg that recalbox is using (just to be sure) ? I will #include it instead of my custom that I created with the input_player things that I showed on my previous post.
I suppose the Bind player 1 option is located inside this file ?
Thanks in advance.
@eightkiller by bind player 1, I just mean to reconfigure your pad the standard way in RA, nothing more.
If you need an overlay, you could simply edit
~/configs/retroarch/retroarchcustom.cfg.originand add your default options (but player inputs) there. I don't think i've managed a default overlay configuration file on each system, it's a per game basis i'm afraid (for now)
@substring You can, I created one retroarch.cfg associated with each console and referenced it in recalbox.conf like this:
#recalbox.conf snes.configfile=/opt/recalbox/configs/snes/retroarch.cfg gb.configfile=snes.configfile=/opt/recalbox/configs/gb/retroarch.cfg
and inside each of those .cfg files, I associated specific overlays and viewports for each console like this for example
# Vertical Monitor resolution custom_viewport_width = 1379 # Horizontal emulator resolution custom_viewport_height = 1035 # Vertical emulator resolution custom_viewport_x = 290 # The first X pixel of the emulator image custom_viewport_y = 22 # The first Y pixel of the emulator image aspect_ratio_index = 22 # Aspect Ratio set to custom input_overlay = /opt/recalbox/emulators/retroarch/overlays/16-9/Scanlines_4x_1080p_Borderless.cfg # Overlayimage input_overlay_enable = true # Overlay Image enable input_overlay_opacity = 0.7 # opacity of the overlayimage input_overlay_scale = "1.000000" #include "/recalbox/configs/retroarch/retroarchcustom_snes_PM.cfg"
and at the bottom of each of thoses .cfg files I include
another custom .cfg file corresponding and replacing the recalbox generated retroarchcustom.cfg
For example: #retroarchcustom_snes.cfg #here I define everything related to my controllers and so on like that I can use specific controllers for each console #8bitdo SFC30 for super nes, PS4 controllers for PSX and arcade game, etc... #A part of the config for the example input_joypad_driver = udev #8bitdo SFC30 Gamepad input_player2_analog_dpad_mode = 0 input_player1_joypad_index = 0 input_player1_a_btn = 0 input_player1_b_btn = 1 input_player1_x_btn = 3 input_player1_y_btn = 4 input_player1_l_btn = 6 input_player1_r_btn = 7 input_player1_select_btn = 10 input_player1_start_btn = 11 input_player1_right_axis = +0 input_player1_left_axis = -0 input_player1_up_axis = -1 input_player1_down_axis = +1
And to find the proper configuration for my controllers, I first let recalbox set the defaults config, opened the retroarchcustom.cfg generated and checked the proper buttons number. Then I could create proper files for each controllers/consoles :)
And it's working flawlessly, it's really close to real consoles like this :)
@eightkiller Stupid me : you can make things almost automatic with no editing. Just add a
~/configs/retroarchand the file will be automatically loaded. For example :