-
Search Results
-
Hello. First let me apologize if this issue has been covered. I was unable to locate a satisfactory answer to my question, but I realize that doesn’t mean it doesn’t exist. I’ve been tinkering with RetroPie for a few months now. I have created RetroPie consoles from 1st and 2nd generation Pi boards. The issue I’m having as far as controller configuration on my Pi2 is a bit of a head scratcher though. For my first gen board, I just used a pair of SNES imitation pads which connected via USB and they worked without issue. However, since the Pi2 is more powerful, emulation of 3D capable systems is far more practical, and I therefor opted to use the Logitech F310 pads which have joysticks and the same amount of buttons as a PSX controller. The issue is when I go to program the buttons in the EmulationStation GUI, it doesn’t correctly recognize the analog triggers. It seems to interpret pressing the trigger and releasing the trigger as separate button presses, so I therefor cannot complete the configuration of the controllers correctly. When I use the RetroPie-Setup script, the button order turns out wrong when I launch a game in EmulationStation. For example when I use the PSX emulator, the button mappings don’t match the layout of an actual PSX pad. I did find that the Logitech Dual Action pad (basically a previous version of the F310) works great, but they are nolonger manufactured and typically go for ridiculous prices new. I’m hoping there is a quick and easy solution to this problem but any help will be greatly appreciated. Thanks for any assistance you can offer.
Hi there.
I’m new to this forum, so I start by saying hi! I hope someone can help me, because I’m stuck.
Pi Model: B rev 2
RetroPie Version Used: 2.6.0
From: SD Image
Devices connected: Arcade controller + USB keyboard
Controller used: JUYAO
Error messages received: No error message, but only one controller is recognized.
Guide used: Did not find any guides on this particular problem
File: No
Attachment of config files: Tell me if you need anything in particular
How to replicate the problem: ??I have bought a JUYAO arcade controller for connection of 2 arcade joysticks + buttons to the Raspberry Pi. However, the raspberry does not seem to recognize the control board.
I have done the following:
I have created a file/etc/udev/rules.d/00-arcadejs.rules
Where I’ve put the following:
ATTRS{name}=="Arcade Controller JUYAO Dual Arcade",ACTION=="add",ENV{ID_INPUT_TABLET}="0",ENV{ID_INPUT_JOYSTICK}:="1"
In this way the Raspberry is recognizing one of the two controllers at least, and I can get it to work with the RetroPi. But only one controller, not two.
I cannot manage to configure the second controller.
If I plug the controller into my computer (Win) it sees two joysticks and double sets of buttons, so I think the connections are correct.
Does anyone have any ideas on this? Is there anything I can change in the
00-arcadejs.rules
file in order to add another controller?Thanks in advance
Hi.
I don’t think this is possible, but thought I’d ask anyway – is there a way to apply individual core settings per rom?
The reason I ask is that some PlayStation games look very nice and still play fine when the higher resolution graphics are applied via core-options, whereas others run quite bad with it applied. I would like a way to apply the high-res textures to the games that support it well and turn it off for others. Can I do this? If not, is it worth asking as a feature request? It doesn’t seem to be available via the retroarch.cfg file, but I’d be happy to be proved wrong!
Thanks.
SteveHas anyone run into this issue? I bought a Mayflash Sega Saturn controller adapter. It has two ports, but my Pi is only picking up one of the ports. It accepts input from both of the ports and treats them as js0 (confirmed in jstest).
I have two other adapters–a Mayflash SNES adapter and a playstation adapter–both of which have two ports each, and both ports are properly recognized by the Pi.
Any ideas on how to get the Pi to see the two ports as individual joypads?
This may be relevant… when I run jstest on the controllers from the working SNES adapter, the test behaviour is different than that of the Saturn adapter. For the SNES, it lists the axes and the button numbers one time, and as I press them, the values simply change and change back (on/off). However, when i test the Saturn controller, it seems to list the axes and button numbers every time i press something, creating pages of output, instead of simply changing the values of the initial list of axes and buttons. Hopefully that makes sense. I’ve included a screenshot below. I was thinking that maybe these controllers are seen as different kinds of controllers or something, and by changing the way the Saturn controller is recognized, perhaps i could get it to behave like the SNES adapter and it would recognize both ports. I don’t know, just throwing out ideas.
I’m using USB controller adapters for SNES and PSX controllers. Each one has a single USB connection and two controller input ports.
The good thing about these is that both ports on each device are recognized whether there is a controller plugged into it or not. So, upon startup, js0, js1, js2, and js3 are assigned to them automatically.
The bad thing is that the jsx name assignments are not always consistent. Sometimes the SNES adapter gets js0 and js1, and other times it gets assigned js2 and js3. This obviously makes it difficult when specifying controllers with input_player1_joypad_index in the emulator-specific retroarch.cfg file.
To solve the problem, I created UDEV rules that assign consistent jsx names. Inspiration was taken from this thread: http://ubuntuforums.org/showthread.php?t=1595666&p=9974813#post9974813
And I refined it to assign unique numbers to devices with identical ID_VENDOR and ID_MODEL values (as is the case with the two ports on each adapter) with a related solution on StackExchange here: http://unix.stackexchange.com/a/105218/125793
My udev rules are as follows…
KERNEL=="js?", ENV{ID_VENDOR}=="HuiJia", ENV{ID_MODEL}=="USB_GamePad", IMPORT{program}="/usr/local/bin/unique-num /run/miner-counter 6 SNES_NUM", NAME+="input/js$env{SNES_NUM}" KERNEL=="js?", ENV{ID_VENDOR}=="WiseGroup._Ltd", ENV{ID_MODEL}=="MP-8866_Dual_USB_Joypad", IMPORT{program}="/usr/local/bin/unique-num /run/miner-counter2 8 PSX_NUM", NAME+="input/js$env{PSX_NUM}"
My SNES controller adapter ports (ID_VENDOR=”HuiJia”) are successfully named js6 and js7. They are listed in /dev/input, and I am able to test them with jstest.
I have specified these joypads in /opt/retropie/configs/snes/retroarch.cfg…
input_player1_joypad_index = "6" input_player2_joypad_index = "7"
All that said, they do not work. I can only assume that it is because the joypad index that retroarch uses looks at something different, perhaps the true path, maybe? …
(this is from udevadm info -q all -n /dev/input/js7)
/devices/platform/bcm2708_usb/ … /input/input/input4/js4
I really don’t know. I’m pretty much at a stopping point here, after putting a lot of hours into figuring out how to get the udev name assignments working, which i assumed would do the trick based off of the example i saw (first link). But perhaps, that author had not tested to see if it actually did work.
Also, I’m not sure if this is related, but I do get an IOError upon exiting the emulator. It reads “IOError: [Errno 13] Permission denied: ‘/dev/input/js0’. Could this be related?
Thanks for any guidance you can provide. I’ve spent a lot of time researching and learning–and don’t mind doing even more to solve the problem–but I am way beyond my pay grade at this point, LOL. Ay help is greatly appreciated!