Retropie only detecting SOME joystick inputs
-
Hi, I checked around and couldn't find a problem exactly like mine.
I have a joystick from my childhood that I'm rather attached to. It's an old 15-pin gameport joystick. I bought a gameport-to-usb adapter to get it to work on modern systems. Windows 10 completely reads every input and works fine.
Running latest retropie and emulationstation on my Raspberry Pi 3 B+, when I go to "Configure input" it only detects NEGATIVE movement on my joystick axes. In other words. For "up" it detects "Axis 1 -" and for left it detects "Axis 0 -" but it doesn't detect Axis 1 + or Axis 0 + for right and down. It detects nothing. It picks up my 2 buttons just fine.
Any thoughts?
Any and all help is greatly appreciated.
-
@Rip Try testing the gamepad with
jstest
- exit Emulationstation and then typejstest /dev/input/js0
It will show you the detected gamepad buttons and joysticks. Try moving the joystick and see if all directions are registering. If they're not picked up, then there's little that RetroPie can do. What adapter are you using ?
-
jstest is successful! It picks up every input, -/+ on both axes plus buttons 1 and 2. The adapter I'm using is this...
https://www.amazon.com/gp/product/B00W8HBHMS/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
-
@Rip When did you last update your RetroPie installation ? There was a recent change that caused unwanted controller problems and it was recently reverted (a couple of days ago). If you last update was before that, then I'd say it's worth running and update again now and re-test if the gamepad is detected by Emulationstation.
-
OK, I just updated it. It now reads 4.4.11. Went to configure input, no change.
-
@Rip OK, so the gamepad works fine, but SDL doesn't recognise it as a joystick. One solution is to tag the device as a joystick when it's detected, through an
udev
rule.
Try this, from the command line (after exiting Emulationstation)- Identify the gamepad's vendor/model numbers
udevadm info -q all -n /dev/input/js0 | egrep 'VENDOR_ID|MODEL_ID'
This should show you the MODEL_ID and MODEL_ID for the gamepad, as detected by the OS
- Add a rule to force detection. Run the editor to create a new file:
sudo nano /etc/udev/rules.d/99-my-gamepad.rules
this will start an editor, where you enter one line containing
SUBSYSTEM=="input", ATTRS{idVendor}=="<vendor_id_from_previous_command>", ATTRS{idProduct}=="<model_id_from_previous_command>", ENV{ID_INPUT_JOYSTICK}="1"
replacing
<id_from_previous_command>
with the corresponding IDs shown by the previous command.
Save the file by pressingCtrl + X
and confirming the save operation.- Reboot your PI (
sudo reboot
from the command line) and try again to see if the gamepad is detected by Emulationstation.
-
Thanks for your reply! I did exactly as you said, model and vendor were just 4 numbers. Anyways, ES detects the joystick just like before, now in configuration is detects UP AND down AND left..... but not right! Buttons are still detected as well. I'm so close yet so far!
-
@Rip Do an update from source for the Emulationstation package and see if the button is detected now, there was a recent change w.r.t. joystick buttons that impacted the detection of joystick movements. If that still doesn't work, then we can maybe fix the configuration file.
-
I updated from source, it went through the entire procedure, then at the end gives me the "Could not successfully install Emulationstation...." message followed by "Please see log at...." message. Took a look at the log, couldn't make heads or tails of it. I'm guessing this is an unrelated problem, but I can't figure it out.
-
@Rip You can also install from binary and see if it updates correctly, but if you want to track down the source installation error, you'll find the whole process log file in
~/RetroPie-Setup/logs
- there should be a time-stamped zipped log file there. Unpack it and post the contents to pastebin.com. -
I updated from binary, it was a quick process compared to source, rebooted. Still same problem. Here is the pastebin of my log:
-
@Rip You're running on Raspbian Jessie (albeit with a recent Retropie Script version), I advise you to install the 4.4 image from retropie.org.uk/download. How did you install the images - is this a 3rd party image or the one from retropie.org.uk/download ?
-
@mitu
Inherited this Pi from a friend who I believe bought it pre-loaded, so I don't know.I'm very new to these devices (just had it a month or so) so I'm learning as I go, so I'll need a little while to figure out how to load a new image and make sure I don't lose any of my stuff.
-
Did you not get a msg pop up that Jessie was no longer supported when launching RetroPie-Setup ?
-
@BuZz I did
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.