Controller works in emulationstation, but has weird mapping in emulators
-
I've searched and found others with this problem, but their solutions didn't work for me.
Pi 3 B+ with a fresh install of latest Retropie.
My USB gamepad works as intended in ES. But in emulators, B button resets the ROM, Start exits the emulator, X brings up the retroarch overlay and the shoulder buttons save and load states. Why is it doing this and how do stop it?
Also, I have a mouse and keyboard connected, and every emulator seems to "prefer" those over the gamepad. The only way I can get them to acknowledge the gamepad is to unplug the mouse and keyboard and reset. How can make the emulators view the gamepad as the "master" controller?
Thank you!
-
It looks like you haven't chosen a Hotkey for your gamepad and the RetroArch hotkey actions configured are acting directly.
Re-configure your gamepad in Emulationstation, skip the Hotkey assignment, then press Ok to useSelect
as a Hotkey.Also, I have a mouse and keyboard connected, and every emulator seems to "prefer" those over the gamepad. The only way I can get them to acknowledge the gamepad is to unplug the mouse and keyboard and reset. How can make the emulators view the gamepad as the "master" controller?
Use the Configuration Editor to edit the options for all Libretro cores, in the basic libretro options, use the
Choose joypad order
entry and choose the gamepad you're using as Player 1. -
Thank you for your response. Configuring and skipping the hotkey seems to have fixed the mapping confusion.
However I already tried the config editor solution to fix the "master" controller issue and no change.
-
@Rip said in Controller works in emulationstation, but has weird mapping in emulators:
However I already tried the config editor solution to fix the "master" controller issue and no change.
Can you post the contents of
/opt/retropie/configs/all/retroarch.cfg
on pastebin.com ? Just want to check that the proper config has been added there. -
So one of the ways I tried to fix this problem was to rename retroarch.cfg to retroarchOLD.cfg.
So the only thing currently in the newly created retroarch.cfg is:
input_player1_joypad_index = "1"
retroarchOLD is this:
-
@Rip said in Controller works in emulationstation, but has weird mapping in emulators:
input_player1_joypad_index = "1"
Try using
input_player1_joypad_index = "0"
, I think RetroArch starts the numbering from 0.From your
retroarch.cfg
:# First joypad available is 0. input_player1_joypad_index = "1"
-
I made the change, unfortunately the problem persists.
-
@Rip Do you have any other joypad type device connected ? Can you run
cat /proc/bus/input/devices
and post the output ?
-
I do
Here is the output:
I: Bus=0003 Vendor=0583 Product=2030 Version=0110
N: Name="Padix Co. Ltd. 2-axis,4button joystick w/view finder,rudder"
P: Phys=usb-3f980000.usb-1.1.2.1/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.1/1-1.1.2.1:1.0/0003:0583:2030.0001/input/input0
U: Uniq=
H: Handlers=js0 event0
B: PROP=0
B: EV=1b
B: KEY=f0000 0 0 0 0 0 0 0 0 0
B: ABS=30023
B: MSC=10I: Bus=0003 Vendor=0079 Product=0011 Version=0110
N: Name="USB Gamepad "
P: Phys=usb-3f980000.usb-1.1.2.2/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.2/1-1.1.2.2:1.0/0003:0079:0011.0002/input/input1
U: Uniq=
H: Handlers=js1 event1
B: PROP=0
B: EV=1b
B: KEY=3ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10I: Bus=0003 Vendor=04f2 Product=0939 Version=0111
N: Name="PixArt USB Optical Mouse"
P: Phys=usb-3f980000.usb-1.1.2.3/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.3/1-1.1.2.3:1.0/0003:04F2:0939.0003/input/input2
U: Uniq=
H: Handlers=mouse0 event2
B: PROP=0
B: EV=17
B: KEY=ff0000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10I: Bus=0003 Vendor=1c4f Product=0002 Version=0110
N: Name="SIGMACHIP USB Keyboard"
P: Phys=usb-3f980000.usb-1.1.2.4/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.4/1-1.1.2.4:1.0/0003:1C4F:0002.0004/input/input3
U: Uniq=
H: Handlers=sysrq kbd leds event3
B: PROP=0
B: EV=120013
B: KEY=10000 7 ff800000 7ff febeffdf f3cfffff ffffffff fffffffe
B: MSC=10
B: LED=7I: Bus=0003 Vendor=1c4f Product=0002 Version=0110
N: Name="SIGMACHIP USB Keyboard"
P: Phys=usb-3f980000.usb-1.1.2.4/input1
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2.4/1-1.1.2.4:1.1/0003:1C4F:0002.0005/input/input4
U: Uniq=
H: Handlers=kbd event4
B: PROP=0
B: EV=1f
B: KEY=3007f 0 0 0 0 483ffff 17aff32d bf544446 0 0 1 130c13 b17c000 267bfa d941dfed 9e1680 4400 0 10000002
B: REL=40
B: ABS=1 0
B: MSC=10 -
From the output you provided, it looks like you have 2 gamepad/joysticks:
- (index 0) Padix Co. Ltd. 2-axis,4button joystick w/view finder,rudder
- (index 1) _USB Gamepad _
While the 2nd one I think has buttons, I'm not sure about the 1st one - if it's just a joystick or it also has buttons that you can use. The
input_player1_joypad_index
will configure in RetroArch which of the gamepads appears as P1, I don't understand why either1
or0
doesn't work. Did you use 'Save Configuration' from the RGUI at some point during your configuration ?Try using
1
as the P1 joystick index and open up the RetroArch GUI (Select + X
orF1
on the keyboard) and check in 'Configuration -> Input - > User 1 Binds` which device index appears for P1 -
I checked in Retroarch itself and the USB gamepad is set for both player 1 and player 2. I thought this might be the problem but alas, no luck. Also, I did use the "save" feature.
So I decided to just disconnect my joystick altogether. After going to the "joystick selection" menu in Retropie and setting player 2 to "unset" instead of the joystick, it seems to have fixed my problem. I can live without the joystick for now. When I want to play a game with it, I'll connect it then.
Thanks for all your help, it's greatly appreciated!
-
@Rip said in Controller works in emulationstation, but has weird mapping in emulators:
Also, I did use the "save" feature.
This might have overriden the configuration in the main
retroarch.cfg
. But anyway, it's good you got this working - finally.
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.