• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Easyget Zero Delay Encoder won't work on Pi 4

Scheduled Pinned Locked Moved Help and Support
pi 4 8gbzero delay usb
9 Posts 4 Posters 2.0k Views
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.
  • J
    jpb
    last edited by 14 Jul 2021, 18:11

    Pi Model or other hardware: Raspberry Pi 4 8GB Model B with 1.5GHz 64-bit quad-core CPU
    Power Supply used: CanaKit USB-C PiSwitch
    RetroPie Version Used: 4.7.15
    Built From: Raspberry Pi Imager v1.6.1
    USB Devices connected: Easyget LED Arcade DIY Parts 2x Zero Delay USB Encoder + 2x 8 Way Joystick + 20x LED Illuminated Push Buttons
    Controller used: PS4 Controller
    Error messages received: N/A
    Verbose log (if relevant): N/A
    Guide used: N/A

    I'm having issues getting an Easyget Zero Delay USB encoder to work on a Raspberry Pi 4 running Retropie v4.7.15.

    Once mapped in Emulation Station, the joystick and buttons work fine to navigate the Retropie menus but don't function in games; it's as if they've all been disabled.

    What's strange is that I can take the controller, plug it into a Pi 3 B+ (also running Retropie 4.7.15), run that same rom as above, and it works fine.

    Any help would be greatly appreciated.

    M 1 Reply Last reply 15 Jul 2021, 02:56 Reply Quote 0
    • M
      mitu Global Moderator @jpb
      last edited by 15 Jul 2021, 02:56

      @jpb said in Easyget Zero Delay Encoder won't work on Pi 4:

      Once mapped in Emulation Station, the joystick and buttons work fine to navigate the Retropie menus but don't function in games; it's as if they've all been disabled.

      Which games/emulator are you testing ? Are you sure the encoder's inputs aren't detected as P2/P3 - the PS4 controller being P1 - and they're not active ?

      J 1 Reply Last reply 15 Jul 2021, 16:00 Reply Quote 0
      • J
        jpb @mitu
        last edited by 15 Jul 2021, 16:00

        @mitu Thanks for the reply. I'm using Galaga under NES to test. By P2/P3 are you referring to the USB ports? if so, the encoder is plugged into port 0, the PS4 is in port 2 and a keyboard is in port 3. I will eventually plug the 2nd encoder into port 1, but thought it best not to complicate things until I get one player working. I am new to this so I may have missed something simple.

        Thanks again for helping.

        M 1 Reply Last reply 15 Jul 2021, 16:53 Reply Quote 0
        • M
          mitu Global Moderator @jpb
          last edited by 15 Jul 2021, 16:53

          I'm using Galaga under NES to test. By P2/P3 are you referring to the USB ports?

          No, I was referring to P(layer)2/P(layer)3 in-game. One gamepad is mapped to one player so the 1st gamepad becomes P1, 2nd one P2, etc. If the PS4 controller is the 1st detected controller, it will be mapped as P1, so the encoder might be P2 etc.

          if so, the encoder is plugged into port 0, the PS4 is in port 2 and a keyboard is in port 3.

          The USB port order does not guarantee the same order for gamepad detection in the emulator, so it might be that the encoder can be P2.
          When you start a game, the emulator (RetroArch) will show the detected and configured controllers - it should show the PS4 controller and the encoder also - do you get the detection message on game start ?

          J 1 Reply Last reply 16 Jul 2021, 14:28 Reply Quote 0
          • J
            jpb @mitu
            last edited by 16 Jul 2021, 14:28

            @mitu Thanks for the explanation on how USB port order works. Yes, RetroArch does see both controllers. I went into the configuration editor and set the encoder to port 0. Still, I can launch a game by hitting the "A" button on the encoder, but once the game loads not of the buttons or joystick work.

            IMG_1214.jpg IMG_1213.jpg

            H C 2 Replies Last reply 18 Jul 2021, 08:46 Reply Quote 0
            • H
              helloThere @jpb
              last edited by helloThere 18 Jul 2021, 08:46

              @jpb If the joysticks are detected and work in emulationstation, then it might just be a matter of remapping the controls on your arcade controls to work with your game/emulator.

              You can use the retroarch menu to remap your controls, if you are using a liberto emulator (emulators that start with lr-). Use the Hotkey + X buttons to access the retroarch menu. Here's the doc's page on controls remapping: https://retropie.org.uk/docs/RetroArch-Configuration/#core-input-remapping

              It might just be Galaga/NES that don't work with how the controls are configured. I'd reccomend using a few different games from different systems to test your controls (NES, Atari, SNES, etc).

              J 1 Reply Last reply 21 Jul 2021, 19:40 Reply Quote 0
              • C
                Clyde @jpb
                last edited by Clyde 19 Jul 2021, 21:30

                @jpb You could try @meleu's joystick selection script. It lets you assign controllers to players. Maybe they are not assigned correctly.

                J 1 Reply Last reply 21 Jul 2021, 20:13 Reply Quote 0
                • J
                  jpb @helloThere
                  last edited by 21 Jul 2021, 19:40

                  @hellothere THANK YOU for all your help!!

                  I was able to get this to work by manually modifying the /opt/retropie/configs/all/retroarch.cfg file.

                  This is how the zero delay encoder was mapped for Player 1 by emulationstation:

                  #input_player1_b_btn = 3
                  #input_player1_y_btn = 0
                  #input_player1_select_btn = 7
                  #input_player1_start_btn = 6
                  #input_player1_up_axis = -1
                  #input_player1_down_axis = +1
                  #input_player1_left_axis = -0
                  #input_player1_right_axis = +0
                  #input_player1_a_btn = 4
                  #input_player1_x_btn = 1
                  #input_player1_l_btn = 2
                  #input_player1_r_btn = 5

                  I remapped it as follows and it started working.

                  input_player1_b = "z"
                  input_player1_y = "a"
                  input_player1_x = "s"
                  input_player1_start = "enter"
                  input_player1_select = "rshift"
                  input_player1_l = "q"
                  input_player1_r = "w"
                  input_player1_left = "left"
                  input_player1_right = "right"
                  input_player1_up = "up"
                  input_player1_down = "down"

                  I did check retroarch.cfg override files in the /configs/SYSTEMNAME and /roms/SYSTEMNAME directories and they were untouched from the defaults.

                  Mind you, I've not tested this in anything but nes/galaga. I will post in this thread if I find anything that may be beneficial for others

                  thank you again!

                  1 Reply Last reply Reply Quote 2
                  • J
                    jpb @Clyde
                    last edited by 21 Jul 2021, 20:13

                    @clyde

                    Thanks, yea I did try that as well as "joystick order" in the Configuration Editor. I believe both of these set:

                    6a766ae2-7b8d-4ccc-9ea0-57399168c6c3-image.png input_player1_joypad_index = "0"
                    input_player2_joypad_index = "1"In the retroarch.cfg file.

                    1 Reply Last reply Reply Quote 0
                    9 out of 9
                    • First post
                      9/9
                      Last post

                    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.

                      This community forum collects and processes your personal information.
                      consent.not_received