Trackball
-
I just upgraded my joystick from a 4-way microswitch to an Ultrastik 360. Prior to swapping out the joystick, my trackball worked with Centipede, Marble Madness and Tempest. After the upgrade, the trackball stopped working. To the best of my knowledge, the only thing I changed was the es_input.cfg by adding an inputConfig section for the Ultimarc joystick (along with the requisite cfg file in the retroarch-joypads directory).
I've tested the trackball with my PC and it is functioning normally.
I managed to get the trackball working in Marble Madness by changing the Port 1 Controls to RetroPad w/Analog and Analog-to-Digital set to Right Analog. I saved this as a game remap.
The same fix does not work for Tempest or Centipede.
I am using mame-libretro. The trackball is a Happ and is connected through an i-PAC2.
I've read through the docs on RetroArch controller configuration and I'm not sure where to go from here. The trackball is clearly recognized and is working because it works in Marble Madness. How do I get Tempest and Centipede to see it?
Pi Model or other hardware: Raspberry Pi 3 Model B Plus Rev 1.3
Power Supply used: Canakit Raspberry Pi power supply
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.8
Built From: retropie-buster-4.8-rpi2_3_zero2w.img
USB Devices connected: i-Pac 2, Ultimarc Ultrastick 360, keyboard
Controller used: i-Pac2
Emulator: mame-libretroThanks!
-
I just tried a fresh install from the retropie-buster-4.8-rpi2_3_zero2w.img. The only change I made was to add the inputConfig to the es_input.cfg file and the CFG file necessary for the U360 into the \RETROPIE\configs\all\retroarch-joypads folder. My es_input.cfg looks like this:
<?xml version="1.0"?> <inputList> <inputAction type="onfinish"> <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command> </inputAction> <inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1"> <input name="up" type="key" id="1073741906" value="1"/> <input name="left" type="key" id="1073741904" value="1"/> <input name="select" type="key" id="118" value="1"/> <input name="right" type="key" id="1073741903" value="1"/> <input name="down" type="key" id="1073741905" value="1"/> <input name="start" type="key" id="49" value="1"/> <input name="a" type="key" id="120" value="1"/> <input name="x" type="key" id="1073742050" value="1"/> <input name="b" type="key" id="122" value="1"/> </inputConfig> <inputConfig type="joystick" deviceName="Ultimarc UltraStik Ultimarc Ultra-Stik Player 1" deviceGUID="0300000009d200001105000011010000"> <input name="up" type="axis" id="1" value="-1"/> <input name="down" type="axis" id="1" value="1"/> <input name="left" type="axis" id="0" value="-1"/> <input name="right" type="axis" id="0" value="1"/> </inputConfig> </inputList>
I haven't modified anything else - no remaps or any other input changes have been made. The trackball works in Marble Madness but still does not in Centipede or Tempest.
I don't understand what is different about Marble Madness. If someone could enlighten me as to how that game works differently with the same hardware, I'd appreciate it!
-
I figured it out, or at least why it wasn't working in Tempest or Centipede. Having it work in Marble Madness threw me off by making me think that the correct mouse index was already set. It was not. My trackball is at mouse1.
In the main retroarch.cfg I set:
input_player1_mouse_index = "1"That fixed it.
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.