Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    PS4 Controllers configuration with retroarch custom config Problems

    GamePad/GPIO/USB encoder
    ps4 retroarch config
    2
    7
    6274
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • eightkiller
      eightkiller last edited by eightkiller

      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.

      P.S.

      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
      
      1 Reply Last reply Reply Quote 0
      • eightkiller
        eightkiller last edited by

        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 !

        Substring 1 Reply Last reply Reply Quote 0
        • Substring
          Substring @eightkiller last edited by Substring

          @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

          Former dev - Please reply with @substring so that i am notified when you answer me
          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

          1 Reply Last reply Reply Quote 0
          • eightkiller
            eightkiller last edited by

            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.

            Substring 1 Reply Last reply Reply Quote 0
            • Substring
              Substring @eightkiller last edited by

              @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)

              Former dev - Please reply with @substring so that i am notified when you answer me
              Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

              eightkiller 1 Reply Last reply Reply Quote 0
              • eightkiller
                eightkiller @Substring last edited by eightkiller

                @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 🙂

                Substring 1 Reply Last reply Reply Quote 0
                • Substring
                  Substring @eightkiller last edited by

                  @eightkiller Stupid me : you can make things almost automatic with no editing. Just add a <system name>.cfginside ~/configs/retroarchand the file will be automatically loaded. For example : ~/configs/retroarch/snes.cfg

                  Former dev - Please reply with @substring so that i am notified when you answer me
                  Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Want to support us ?

                  97
                  Online

                  98.7k
                  Users

                  28.1k
                  Topics

                  187.0k
                  Posts

                  Copyright © 2021 recalbox.com