Please do not post a support request without first reading and following the advice in

Joystick and buttons on separate USB encoders

  • Hello. I built an arcade cabinet that has two 8-way joysticks, each with 8 buttons and for the most part everything works great. The issue is with older games that work best with a 4-way joystick. I have a 4 way and would like to add it to the control panel, but it will have to be connected to another USB encoder. This is all fine, but the issue is that I don't want to add additional buttons as well - I only want to add the joystick. Is this possible through software, or do I have to do it through hardware and wire in the existing buttons to the new encoder (not sure if this will present other problems or not)?

    By the way, I'm running on a Raspberry Pi 3B+ with retropi 4.5.

    Thanks in advance,

  • @atl-mike

    what is the make and model of your joystick?
    many arcade joysticks can actually be switched between 4/8way by rotating a restrictor plate on the buttom of the stick.

    if this is not an option and you really want an extra joystick, you could just hardwire the extra joystick to player one, alltho imho it would just be a waste of space.

  • @Halvhjearne Thanks for the response. Yes, the joystick does have a restrictor plate that can be moved (this is what I did to make the 3rd joystick a 4-way). I understand that I can do this with the "player 1" joystick as well, but I have 2 player games that work with 8-way, so pulling apart the control panel to change the restrictor plate or to plug in another controller on a per/game basis isn't really ideal. Since I have the space and can easily add a third joystick, I would prefer to keep the existing ones as 8-way and the 3rd as a 4-way. If what I want isn't really ideal, I can look at hardwiring the existing "player 1" buttons to both USB encoders - I think that will work.

  • @atl-mike Yes you should be able to do this, you just have to setup the specific games controls you want to use the 4way joystick with. You don't need to remap the buttons as they are already mapped for your p1/8way setup. I do this with my cabinet as its a pain to rotate the plate so I use a dedicated 4way and still use the same buttons for p1.

    Though my setup the usb encoder detects my controls as keyboard strokes so it's easy to map them to whatever, I don't know in the case where the usb encoders show up as an actual joystick.

  • @stoney66 Thanks for your response. Now that I think about it, you're right - my buttons are just registering as keyboard keys, so I don't know why I can't use Joystick 1 on USB Encoder 1 with Buttons on USB Encoder 2 - that should be working. I'll look again at it tonight. Can you think of anything I might be missing? Does device input id matter in this case if it's just replicating keyboard strokes, or does retroarch only listen on that USB port. The testing that I did last night was with a game that didn't use any buttons, but when I tried to click the exit button, I couldn't so I assumed it was because that button was tied to a different USB encoder.

  • Not sure on input ID question, one thing to make sure is if the encoders are mapped to send different keys. I use the mini-pac and I just map the keys on each encoder differently. Not sure what yours are and if you have that option. Even if you couldn't, I would think it would be like hooking up two keyboards, both will work at the same time so your 4way and 8way would work at the same time and you can just choose which one you want for the game. For me I mapped them differently.

  • Ok, I am now understanding this better. First, my retroarch.cfg file was a mess. I built the cabinet a few years ago, and upgraded retropie throughout the years but my retroarch.cfg was not getting updated and through all my mis-configurations and tinkering it was in need of some good housekeeping. So I renamed it (I'll need to copy some setting from there for my trackball) and copied the distribution version to replace it. Next problem was a misunderstanding - my controllers were not the mini-pac type boards that impersonate a keyboard, they are the type that act as a joypad - this is why my retroarch.cfg file had all the input_xxxx_btn = "nul" (or commented out in the new retroarch.cfg). So, I think my best bet will be to move up to a mini-pac instead.

    This post helped clear things up for me - - thank you @capeman.

  • Yeah I like the keyboard one better, but maybe someone has some advice if this is still possible with the joystick type. I would think it would be but who knows ;)

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.