Daphne controls no longer working
-
Pi Model or other hardware: 3B
Power Supply used: Canakit 5v 2.5A
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.4.1
Built From: Image then updated from binaries
USB Devices connected: 2x 8bitdo FC30 Pro gamepads, 1x Tenda Pico Nano wifi dongle, usb keboard dongle
Controller used: 8bitdo FC30 Pro
File: /opt/retropie/configs/daphne/dapinput.ini and or dapinputforcejoy.ini
Emulator: DaphnieEverything has been working splendidly on my setup for months, so naturally I had to go and mess it up.
Long story short - After updating my 8bitdo FC30 Pro firmware to 4.10 and RetroPie to 4.4.1, Daphne no longer recognizes dpad input from my controllers, however, the button config is working properly. I had not changed my dapnput.ini file. In fact, an old copy of it appears here: https://retropie.org.uk/forum/topic/7272/key-settings-problem-in-daphne-with-xin-mo/11
Looking at JSTEST, up, down, left, and right is registered as an axis value and not a "button" and the retroarch.cfg file shows those inputs as a "h0up", "h0left" values.
In the interest of troubleshooting, I've reset the dapinput.ini file and removed my controller configs using RPSetup, then re added them.
I've tried using my old dapinput.ini file and manually editing the fresh copy with the same results - buttons work, d pad doesn't. All Libretto emulators seem to be working fine.
Any thoughts or guidance?
-
@batesman said in Daphne controls no longer working:
Looking at JSTEST, up, down, left, and right is registered as an axis value and not a "button"
buttons work, d pad doesn't.Prior to your firmware update, were your directional controls registered as buttons? Regardless, seeing as how it currently registers as an axis, you should be aware that Daphne will only ever grab the first axis on js0 for joystick support. This is hard-coded in Daphne and the source of many similar issues. The developer himself has noted this as being a problem in the past and has made mention of expanding on Daphne's joystick support, but after so much time, it really doesn't look like it's going to happen.
You can either make sure the controller you want to use registers as js0 before launching Daphne each time, or you can key-map your controller using an external mapping solution. I do the latter, which greatly expands upon Daphne's control capabilities, such as individual game maps, as well as the ability to map hotkey combinations to emulator functions. For example, I have 'hotkey+start' mapped to quit Daphne so that it matches the same behavior found in RetroArch.
-
Hmmm...I can't say for certain how jstest viewed the dpad input prior to the firmware change, but prior to the firmware update I had d pad buttons configured in dapinput as 1, which would indicate "button" 0 on the control. The controller registers as js0.
The first axis in jstest on js0 is the left analog stick. However, I have never used those with daphne and the previous configuration used the dpad successfully.
I'm going to downgrade the controller firmware and retest.
Can you explain your additional mapping solution a bit more? What, where, how?
-
I wrote a tutorial on how to accomplish key-mapping using xboxdrv located here, but Linux Joystick Mapper is also an option. If it's something you're interested in pursuing, I can post may own xboxdrv Daphne map for reference.
-
I downgraded the controller firmware and restored by old (previously working) dapinput.ini. Dpad controls are non responsive and the only controller input that is properly recognized was "select" to end the game. The start button is actually pausing the emulator - a function that is not configured in my ini file at all.
Didn't something (a script perhaps) get added to retropie that is supposed to "port" the retroarch controller config to daphne? Are my dapinput.ini settings being overridden somehow?
-
@batesman said in Daphne controls no longer working:
Didn't something (a script perhaps) get added to retropie that is supposed to "port" the retroarch controller config to daphne?
It did indeed, but that was some time ago. I don't know why it would potentially be affecting you now. Have you tried just manually re-configuring the
daphne.ini
as you did originally? -
Hey, thanks for your help with this.
To answer your question, yes I have. The button config worked, but the dpad did not.
I looked over your xboxdrv mapping process am terrified of attempting it! :)
I'm convinced that Daphne is receiving control configuration from some other source. Using a stock dapinput.ini file, KEY = QUIT is mapped to button 17. On my controller, the select button is quitting Daphne and it is button 10. Additionally, the start button is pausing the game and KEY_PAUSE isn't declared in my dapinput.ini, nor is button 11 (my start button).
Thoughts?
-
@batesman said in Daphne controls no longer working:
I'm convinced that Daphne is receiving control configuration from some other source.
You might double check to make sure that the
daphne.ini
file located at/opt/retropie/emulators/daphne/daphne.ini
is symlinked to/opt/retropie/configs/daphne/daphne.ini
. Other than that being an issue, there's really no other place Daphne could be reading a control configuration.I looked over your xboxdrv mapping process am terrified of attempting it! :)
Admittedly, it's something best attempted after you're pretty familiar with RetroPie, but it's not a difficult as it looks. The length of the guide is due to me over-explaining every step. It may be something to keep in mind for a later time, as it can give you full customized control over almost any game/system out there.
-
Yep. The files are linked. I deleted the forcejoy.ini to be sure there was no conflict. This is driving me nuts!
-
This you said earlier just caught my attention...
The first axis in jstest on js0 is the left analog stick. However, I have never used those with daphne and the previous configuration used the dpad successfully.
Daphne will only ever grab one joystick, so as long as it's grabbing the left analog stick, there's nothing that can be done about it. I'm at somewhat of a loss for an explaination, but it could be that the change in behavior came at the system level rather than the firmware. Still, all this could be solved with better fundamental joystick support in Daphne. It was a situation very similar to yours in Daphne that had me seek out an external mapping option to begin with.
-
So I just went back into daphne and tried controlling everything with the left analog stick. Sure enough, it's working as expected. For the life of me, I cannot figure out how it was working with the d-pad before.
The only plausible explanation I can muster is that Retropie 4.4.1 is somehow reading the gamepad differently than it was prior to the update. Or maybe I was running an older version of Daphne that didn't grab the first joystick. Who knows? Through I really wish I knew the cause and effect, at least now I know I can play again.
Thanks!
-
Not a problem. I'm glad it worked out in some capacity.
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.