8Bitdo NES30 Pro Bluetooth controllers not registering right analog left and right positions properly
-
@GeekOB Try the Switch mode for the connection.
-
@mitu Thanks for your guidance, I now realize what you meant by the modes. I had been using the Android mode since the beginning (press and hold the Power button). The Switch mode works perfectly fine, I was able to configure and map all buttons and axes, the controllers are now detected as "Pro Controller" instead of "8Bitdo NES30 Pro"
My question is, Android mode used to work before, is it possible to make it work again? It's definitely better to not press a combination of keys every single time you want to turn on a controller.
Thank you once again! -
@GeekOB I think that depends on the firmware - the button mapping. AFAIK once you start the controller with one 'mode', subsequent starts will start in the same 'mode' as it was paired - so you don't have to start it with 'Start + Y' every time - give it a try.
-
I have the same problem at the OP, and switching the mode did fix it, but you have to start the controller each time in that mode.
so to get it in pro controller mode you have to hold the power and y each time. just pushing the power will just power on the controller on android mode.
i have both a FC30 PRO and a NES30 PRO and i have to do it to both. and i have firmware 4.10 on both
stinks that something changed where android mode does not work now :(
-
I just wanted to chime in that I had the same problem with my N30 Pro 2 controller not registering the right analog stick pressing left in bluetooth mode, and that uninstalling and reinstalling the xpad driver fixed it. This was running it in D-Input mode.
-
@G30FF is your controller in android mode. i have tryed the reinstall xpad install and it did nothing. the only way i got my right stick to be seen was to have the controller boot into switch mode
-
-
well after testing i cant my N30 Pro or FC30 pro to work once i update my Pi to version 4.4.9 and yes i have also gone up to version 4.4.11
i have downloaded all the firmwares from what @Rion posted and nothing seems to work, and yes i have uninstalled and reinstalled xpad drivers
so far nothing seems to work.
posted issue on github
-
@ExarKunIv Can you try updating your Emulationstation package ? There was a recent update for the SDL libraries and since Emulationstation is technically at fault here, it might help to test with the new updated SDL2.
EDIT: just to confirm, is your controller started in Dinput mode - otherwise I don't think the
xpad
driver would have any effect ? -
@mitu I did update the Emulationstation package. No luck.
I'm not sure I get what mode you are talking about. As far as I know it is just a default one. The one that is just with the power button. I'm not pressing any other buttons when I'm powering on the controller
-
@ExarKunIv OK, then let's debug this further.
Exit Emulationstation, then from the terminal run
emulationstation --debug
Emulationstation should start in debug mode, and more messages are logged in it's log file. Run the input configuration again and map the buttons, then exit emulationstation.
Save the following files:
/home/pi/.emulationstation/es_log.txt
/home/pi/.emulationstation/es_input.cfg
/opt/retropie/configs/all/retroarch-joypads/<controller-name.cfg
Paste their output to pastebin.com so we can take a look and see how the input is managed by ES and the configuration file is generated.
-
@mitu thanks for getting back to me
heres what you asked me to do
-
Looking at your controller mapping session, I see that
RightAnalogLeft
button is not mapped in EmulationstationMapping [Axis 1-] -> LeftAnalogUp Mapping [Axis 1+] -> LeftAnalogDown Mapping [Axis 0-] -> LeftAnalogLeft Mapping [Axis 0+] -> LeftAnalogRight Mapping [Axis 3-] -> RightAnalogUp Mapping [Axis 3+] -> RightAnalogDown Mapping [Axis 2+] -> RightAnalogRight
The
8Bitdo FC30 Pro.cfg
file for RetroArch (that you posted) is obviously also missing that part:# Entries re-arranged for readability # Left joystick input_l_x_minus_axis = "-0" input_l_x_plus_axis = "+0" input_l_y_minus_axis = "-1" input_l_y_plus_axis = "+1" # Right Joystick input_r_x_plus_axis = "+2" input_r_y_minus_axis = "-3" input_r_y_plus_axis = "+3"
Looking into a RetroArch auto-configuration file for a similar gamepad - see https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo_Pro_F30_BT.cfg -, I see that the joystick controls are similarly mapped, the only difference is the added
input_r_x_minus_axis
(i.e. the RightAnalogLeft missing from your mapping session in Emulationstation).So, are you sure you actually mapped the Right Joystick Left trigger in Emulationstation and you didn't accidentally skip it ? Does it not register at all in Emulationstation in the input configuration dialog ?
-
@mitu nope i have done it more times then i would like to say. each time it just will not see it. i have skipped it and gone back to it. it just does not see it
but if i map it on a clean 4.4 load with out updating anything it will work like a champ.
but if i put the controller into switch mode. which Emulationstation will see it as a pro controller. then it will work. but i will have to remember that i need to boot the controller in switch mode each time
and i did use
jstest
and the 2 axes which it the right stick, left and right. it does show a number code as i move it about, both positive and negative -
@ExarKunIv Can you download and install sdl-jstest and then repeat the controller testing ?
-
@mitu i really hate to ask, but how do i install it.
i hate to say but it is above me on how to go about getting it installed, sorry
-
@ExarKunIv In this case, I have a simpler test you could perform.
On your 4.4 clean image, update RetroPie's installed packages - but without updating the OS and it's packages. This should also update your RetroPie script and put it up to the current 4.4.11 (?) version. Try mapping again the controller and see if it works.
After this test, re-do the update, but this time choose to update the OS and packages. It will take considerably longer - but try again after that to map the controller.Btw, if
jstest
shows the right joystick as working, a simple workaround would be to try and replace the controller's.cfg
file with the one I posted earlier (https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo_Pro_F30_BT.cfg) - this should get you a functional right joystick in RetroArch. -
@mitu ok so i updated just the retropie and NOT the OS.
i tried mapping the controller and -2 axis would not work. so i just started hitting anything to get pass the mapping.
so the hell of it i went back in and this time it worked. i was able to map -2 axis to anything. so i got it done and i went back in and again it worked.not sure if this is normal or not. ( i just never payed close attention to it. but the mapping that failed was gamepad 1.
and next was gamepad 2, which worked.
and then gamepad 3 which worked.is it this right. the gamepad number goes up as you map the controller even if it is the same?
im updateing everything right now. ill let you know what i get
-
@ExarKunIv said in 8Bitdo NES30 Pro Bluetooth controllers not registering right analog left and right positions properly:
is it this right. the gamepad number goes up as you map the controller even if it is the same?
The number is indicative of which controller you're mapping. If you have 2 identical controllers, there's no point in mapping the 2nd one - the config would be the same.
-
@mitu very odd
i have only one controller im messing with but yet it says gamepad 3 when i map it now.
i have updated everything now and i have able to map the controller correcly. i did it 4 times and each time it says gamepad 3.
but everything came up.now why it mapped 3 different controllers i dont know.
think ill do a clean load. then update everything and see if i get a bunch different mappings like i have now.
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.