The X-Arcade Tankstick is supported on Batocera when you enable controllers.xarcade.enabled=1 in the /userdata/system/batocera.conf file. It is done through the arcade2jstick module, which means that each of the two sticks is seen as an independent joystick by EmulationStation and the emulators. The trackball is recognized as a USB mouse in emulators that support mouse.


There's a config file

The X-Arcade controller config file is broken http://www.xgameroom.com/service/ServiceFiles/X-Arcade.zip

That's for MODE 1 X-Arcades that are designed to be seen as Keyboard.


If you have a TRIMODE X-Arcade (Made after 2019), your X-Arcade has Mode 3 as XINPUT, So you can slide to Mode 3 if you want and bactocera will see X-Arcade as Two Separate Gamepads

If anyone lands here looking for a working solution try:

  1. Change the slider on the back of the X-Arcade Tankstik to position 3

  2. Go back to the Batocera screen and it should identify the 2 separate controls of the Tankstik

  3. Map the Tankstik as you see fit to Bantocera

It took me 3 hours fiddling with this yesterday to arrive at this solution. This was a brand new Tankstik and batocera-x86_64-35-20220917 on a Windows machine.

This may work with other emulation/gaming systems as well.



Remapping per game: https://wiki.batocera.org/remapping_controls_per_emulator

Per game Retroarch overrides: https://wiki.batocera.org/advanced_retroarch_settings

That should be all you need.

If you specifically need a "no workarounds" situation, then don't use Batocera, as Batocera was designed as a "plug and play" system for one controller = one player, not one controller = one system. You'll find many other issues when forcing controllers on certain emulators that only exist in Batocera because of this philosophy.