Dpad Controls / Xarcade Stick Not Working... A, B Works Normal

Hi all. I’m fairly new to the world of RetroArch (outside of a bit of customization on a RetroPie) and I’m working on an arcade project run by Windows 7 and Launchbox. I’m trying to configure RetroArch (NES firstly) to work with an Xarcade stick, and while I’m able to map the A, B buttons just fine, the DPad maps, but does NOTHING in game. I’ve tried different cores, all the same happening. I’ve read other forums that say to map in game, which I’ve done - still nothing. Oddly enough, the same key on a connected keyboard peripheral actually DOES work - but not on the stick! Can anyone help me find out what I’m doing wrong here?

The Xarcade stick uses direction arrows, right? if so, you can look in your retroarch.cfg and see if they’re getting mapped properly or not (sometimes they get mapped wrong as tenkey numbers for some reason). They should just say left/right/up/down.

And you should be doing the mapping in settings > input > p1 input binds > bind all, though I’m not sure if it will let you map both players this way on a single keyboard device. You might have to enter the values into the retroarch.cfg manually, which really is probably a good idea anyway, since some of the MAME defaults that Xarcade uses conflict with RA’s own hotkey assignments.

2 Likes

Best way to use an x-arcade with RA is to make a new binding on the x-arcade hardware that corresponds to the Retroarch default keys, or slightly modified version thereof.

Even better way is to gut that crap PCB and swap for something decent.

If you want a good and permanent solution i would also agree that you have to replace the crappy encoder in the XArcade. It is not that hard and i did it on my XArcade Tankstick:

You can buy Ultrastick 360 joysticks which are analog sticks, auto configurable by MAME (so you don’t have to worry which games need a 4-way or 8-way joystick), the OS recognizes them as normal gamepads and they come with a USB interface built in. Also they support 8 buttons plus another 7 with a “shift” function - each button can execute two different actions depending on the “shift” button being pressed or not.

You also have the option to replace an unneeded button with a USB spinner - i replaced my 2-Player button with a Spintrack from Ultimarc and also replaced the crappy trackball with a Happ 3".

THANK YOU! This actually solved my problem, and I’m able to now use the directional controls. I literally searched this for over an hour.

Thank all of you for the suggestions. I will keep them all in mind. Hunterk’s suggestion has worked for now, but I appreciate all of the suggestions and input.

I’ve recently setup Retroarch on Nvidia Shield and all has been working cool. I then borrowed a friends X-Arcade and tried setting this up, but i’m getting problems…

I’ve gone through the User1 keybinds, and manually bound the buttons and the D-pad to the joystick directions which as it turns out are numpad keys, but i do not get any movement in games using the latest 0.198 Mame Arcade core. The mapped fire buttons etc do work though!

After lots of headscratching, i decided to try the Mame Arcade 2016 core, and hey presto, this works absolutely fine!

So, seems like the latest 0.198 core is for some reason blocking keys mapped to the D-pad? They don’t work when using a keyboard either…

Any ideas?! thanks…

Did you try going into your retroarch.cfg and changing the numpad keys to left/right/up/down?

I did, and i then i get no movement in game or in the menu system itself. When mapping in Retroarch itself, it definitely sees the joystick movements as being numpad numbers. So i don’t get why this doesn’t get translated into up/down/left/right in game. This works in the other cores, but not the latest.

Seems odd…

While it’s plugged in and the core is running, do the arrow keys (on a keyboard) move you around?

You can also try changing your driver from xinput to raw or dinput and see if those treat you any better.

No, with just a keyboard plugged in and the D-pad keys mapped to cursor left/right/up/down or numpad, none of the keyboard keys work for movement, no matter what you map them to. Fire buttons etc all work on the keyboard! So it seems the keyboard mappings for movement are being ignored, hence the joystick mappings for movement being ignored too…

Is anyone else able to check the latest Mame Arcade core 0.198 and simply try with keyboard plugged in only and try using the keyboard for movement? This works in the 2016 core, but not in the latest core.

I’m running the latest Nvidia Shield with the latest Oreo update and of course an up-to-date Retroarch installation. I also tried reinstalling, just in case i’d messed something up previously.

thanks in advance…!