Homepage › Forums › RetroPie Project › Controller Configuration in RetroPie › Retropie 3.4 and 8bitDo bluetooth Pad
- This topic has 69 replies, 11 voices, and was last updated 8 years, 6 months ago by
mikegrice10.
-
AuthorPosts
-
01/23/2016 at 21:07 #114891
Floob
MemberGreat, that sounds solved then. You can see me setting the analogues to work here:
01/23/2016 at 22:19 #114894Floob
MemberWiki now updated with guide:
https://github.com/RetroPie/RetroPie-Setup/wiki/Setting-up-a-Bluetooth-controllerVideo here:
01/23/2016 at 22:36 #114897pausuri
ParticipantThanks Flood! I followed to your video guide and it worked like a charm!
01/23/2016 at 22:41 #114898hobbswon
ParticipantThat was it!
I guess I should have looked into the retroarch config gui. It never occurred to me.
Thanks Floob.
01/24/2016 at 13:57 #114929nbk7
Participantthere is still one problem for controllers with several modes like my 8Bitdo NES30 or the FC30 on the Jessie plattform:
there are two relevant modes for retropie:
1. Keyboard Mode Start+B (Controller 1), Start+B+R (Controller 2).
Registered as: “8Bitdo NES GamePad”
This mode is important for certain non-retroarch based emulators like VICE.2. GamePad Mode Start+R (both Controllers)
Registered as: 8Bitdo NES30 GamePad Joystick
For Retroarch based controlsThe MAC-Addresses of each controller varies depending on the connected mode. So if I establish all conntections for both my controllers (2x Keyboard mode MAC-Address A,B and 2x GamePad mode with MAC Address C,D) I would see all 4 registered devices in the retropie-setup menu. Unfortunately after reboot only the mode I registered last (via retropie_setup.sh) would try to connect. I can always reproduce this by deleting the last registered connection and re-register via another mode.
For Wheezy I wrote a script that would simply auto-connect, depending on the MAC address provided:
http://forum.8bitdo.com/thread-328-7-1.html #64
but that doesn’t work for the later Jessie plattform due to different connecting approach I guess.
Any ideals how to make it possible to auto-connect in both modes?
01/24/2016 at 15:24 #114937Floob
MemberIf you want to force a connection you can try this script – make it executable and put it in /etc/init.d/
#!/bin/bash sudo bluetoothctl << EOF power on connect [MAC Address] exit EOF
For others reading this, dont do this as the retropie bluetooth menu covers most situations doing this on its own.
01/24/2016 at 16:11 #114941hobbswon
ParticipantIs it necessary to start the 8bitdo pads in keyboard
[quote=114929]there is still one problem for controllers with several modes like my 8Bitdo NES30 or the FC30 on the Jessie plattform:
there are two relevant modes for retropie:
1. Keyboard Mode Start+B (Controller 1), Start+B+R (Controller 2).
Registered as: “8Bitdo NES GamePad”
This mode is important for certain non-retroarch based emulators like VICE.2. GamePad Mode Start+R (both Controllers)
Registered as: 8Bitdo NES30 GamePad Joystick
For Retroarch based controlsThe MAC-Addresses of each controller varies depending on the connected mode. So if I establish all conntections for both my controllers (2x Keyboard mode MAC-Address A,B and 2x GamePad mode with MAC Address C,D) I would see all 4 registered devices in the retropie-setup menu. Unfortunately after reboot only the mode I registered last (via retropie_setup.sh) would try to connect. I can always reproduce this by deleting the last registered connection and re-register via another mode.
For Wheezy I wrote a script that would simply auto-connect, depending on the MAC address provided:
http://forum.8bitdo.com/thread-328-7-1.html #64
but that doesn’t work for the later Jessie plattform due to different connecting approach I guess.
Any ideals how to make it possible to auto-connect in both modes?
[/quote]
Can’t the retroarch mappings be edited to correspond to the input of the 8bitdo gamepads in keyboard mode? I’d imagine one would lose the analog stick controls for the retroarch cores though.
This kind of blows because I enjoy the retroarch cores but I do use VICE a ton and to use it you really need the 1-button push feature for the virtual keyboard. Having to toggle between modes by restarting the controllers between cores is enough of a workaround to be a minor annoyance.
01/24/2016 at 18:35 #114952jiepiewie
ParticipantI followed your latest video to the letter but after updating the .rules file and rebooting, my fc30 pro is not seen (the blue leds keep on flashing). Checking with Bleutoothctl shows that it is still seeing the controller but it isn’t paired. What can be wrong?
01/24/2016 at 19:02 #114959Floob
Member@jiepiewie If the blue lights are flashing it hasnt re-connected. Did it connect ok when you used the bluetooth menu earlier?
Try turning on the controller just as the RetroPie splashscreen appears.01/24/2016 at 19:42 #114969jiepiewie
Participant@floob Thanks for your quick reply. i’ve rebooted my pi, switched on the fc30 just as the retropie bootup-screen appeared but no good. Blue lights keep flashing. When i go into retropie-setup to look at the bluetooth options it sees a registered device but no active connections. Bluetoothctl ‘sees’ my fc30 as a ‘paired-device’.
01/24/2016 at 19:51 #114974Anonymous
Inactive@Floob,Thanks I will download Retropie 3.4 tonight and try connecting my SFC30 Pads using your tutorial.
One question, I also want to connect my Bluetooth Keyboard and Mouse. Do I need to add a Udev rule for that too? (sudo nano /etc/udev/rules.d/10-local.rules). If YES, what would the rule look like?
All i know is the name bit will change, but what about the rest?
SUBSYSTEM==”input”, ATTRS{name}==”8Bitdo SFC30 GamePad Joystick”, MODE=”0666″, ENV{ID_INPUT_JOYSTICK}=”1″
01/24/2016 at 20:04 #114978Floob
Member@jiepiewie Try using the bluetooth menu items to de-register the controller and try again. Make sure you havent lost the pairing by accidently holding the select button for 3 seconds – this wipes the pairing.
@abs7 No, that shouldnt need a udev rule. It should just work.
01/24/2016 at 20:07 #114980Anonymous
InactiveThanks Floob. I’ll give it a go with 2 x SFC30 Controllers and BT Keyboard and Mouse tonight. I’ll keep you posted.
01/24/2016 at 20:24 #114983hobbswon
ParticipantFloob,
I ran into a new issue with the gamepad and Mame now.
Lr-mame2003/10 is the emu
Some games respond to the mapping and some wont.
For example,
Ninja will show a default input of p1 SELECT for coin 1, and p1 start is START but they just don’t respond to the input while other games do just fine.
01/24/2016 at 20:27 #114984jiepiewie
Participant[quote=114978] @jiepiewie Try using the bluetooth menu items to de-register the controller and try again. Make sure you havent lost the pairing by accidently holding the select button for 3 seconds – this wipes the pairing.
[/quote]
Tried and failed again. Removed the controller using the retropie-setup-menu, added it agin and rebooted the pi. No pairing whatsover. I’m stumped. On my other wheezy-installation it worked flawlessly.01/24/2016 at 20:47 #114987Floob
Member@hobbswon Thats a different issue, please open a new thread for that one.
@jiepiewie When you re-added it did it connect (solid blue LED)? Which version of RetroPie are you using? Is it from an image? What start up mode are you using on the FC30?01/24/2016 at 21:29 #114995scolson1
ParticipantI’m having the same problem. The first time I paired it, it was called SFC30 Gamepad Joystick. I paired it just fine and then added the rule. As soon as I added the rule, it wouldn’t recognize when I rebooted Emulation Station. It was solid blue, so it was definitely paired, but it said “no Gamepad detected”. I turned it on at the correct time just before the Retropie splash screen. I unpaired it and when I went back to pair it again, it was now called SFC30 Gamepad. The word joystick was gone. I tried editing the file to correct this change, but it still didn’t work. I’m stumped! Any suggestions?
01/24/2016 at 21:42 #115000hobbswon
ParticipantApologies Floob.
Back to the topic, the controllers will pair initially but how do you get them to autopair on reboot? The bluetooth module doesn’t use the same commands from the wheezy base
01/24/2016 at 21:52 #115002Floob
MemberBear in mind there is a difference between pairing and connecting. You only need to pair once, unless you hold the select button down for more than 3 seconds to remove the pair.
To reconnect, turn the controller on just as the RetroPie splashscreen appears, the FC30 Pro its just power on for joystick mode, the SFC30 is hold Start+R. Its connected when the led is solid blue.
If emulation station doesnt see it, and it is connected (solid blue) it sounds like your udev rule isnt quite right. Can you post it here?
01/24/2016 at 22:29 #115007Anonymous
Inactive@Floob, if i am connecting 2 x SFC30 Controllers, do i need to add 2 Udev rules? Both rules would end up being identical. Thanks
01/24/2016 at 22:45 #115009hobbswon
ParticipantFloob,
Yes, I’m talking about reconnecting. Apologies.
If I power the controllers off and on on reboot. They will not autoconnect. I have to unregister and pair again to get them to connect.
I’ve gotten ES to detect them and map no problem. It’s the reconnection that’s the issue.
One thing of notice….if I power off the controllers, then reboot, and power them on. They will not connect. BUT, if I let them go to sleep and wake them, they will connect.
Note: if you wake a sleeping FC30/NES30 Pro with the B button…it will wake in keyboard mode.
01/24/2016 at 23:04 #115011Floob
Member@abs7 – No one should do it.
@hobbswon Try turning the controller on at different points in the boot up cycle. Make sure the pair hasnt been lost – this can happen if you hold select for 3 seconds. If you did as per the wiki/video it should have added the auto connect rule.
Can you confirm which retropie version you are running – was it from an image?01/24/2016 at 23:05 #115012scolson1
ParticipantFor me, Emulation Station won’t recognize them at all. It’s solid blue, but it says no gamepad detected.
01/24/2016 at 23:06 #115013Floob
Member@scolson1 That sounds like you havent added the udev rule correctly. See the wiki for info.
https://github.com/retropie/retropie-setup/wiki/Setting-up-a-Bluetooth-controller01/24/2016 at 23:22 #115014hobbswon
Participant[quote=115011]
@hobbswon Try turning the controller on at different points in the boot up cycle. Make sure the pair hasnt been lost – this can happen if you hold select for 3 seconds. If you did as per the wiki/video it should have added the auto connect rule.
Can you confirm which retropie version you are running – was it from an image?[/quote]
3.4 fresh install
It’s weird, they are hit or miss on connecting from boot up. But once booted, and still disco’d, they will connect when woken.
And once they are connected, if I power them off and back on (mid game, for example), they connect right away.
So I guess it’s somewhat nitpick.
02/10/2016 at 00:25 #116629hobbswon
Participant[quote=114929]there is still one problem for controllers with several modes like my 8Bitdo NES30 or the FC30 on the Jessie plattform:
there are two relevant modes for retropie:
1. Keyboard Mode Start+B (Controller 1), Start+B+R (Controller 2).
Registered as: “8Bitdo NES GamePad”
This mode is important for certain non-retroarch based emulators like VICE.2. GamePad Mode Start+R (both Controllers)
Registered as: 8Bitdo NES30 GamePad Joystick
For Retroarch based controlsThe MAC-Addresses of each controller varies depending on the connected mode. So if I establish all conntections for both my controllers (2x Keyboard mode MAC-Address A,B and 2x GamePad mode with MAC Address C,D) I would see all 4 registered devices in the retropie-setup menu. Unfortunately after reboot only the mode I registered last (via retropie_setup.sh) would try to connect. I can always reproduce this by deleting the last registered connection and re-register via another mode.
For Wheezy I wrote a script that would simply auto-connect, depending on the MAC address provided:
http://forum.8bitdo.com/thread-328-7-1.html #64
but that doesn’t work for the later Jessie plattform due to different connecting approach I guess.
Any ideals how to make it possible to auto-connect in both modes?
[/quote]
Have you ever gotten this worked out?
I too need both modes working but now in 3.5 I cannot even get the controllers to pair in controller mode.
If I try to register my NES 30 Pro or FC 30 Pro with either START + B or START + B+R
I get a dbus error.
It will show registered after it shows the dbus error but it will not pair.
Vice and CoolCV are unusable with 8Bitdo because of this
02/10/2016 at 00:36 #116631jbfortune
ParticipantI’ve just paired the Nes30 and FC30 pro to mine.
The nes 30 (Not sure about the pro version) – I had troubles with but to be honest, I don’t think I was getting it into the right mode. Hold down the right shoulder button the start until the light flashes in pulses of 3. This is then right to be paired. Follow the rest of the Floobs guide and I don’t see how it can’t work to be honest!
The FC30 pro doesn’t need to be started in any mode. Just holding down the power should be enough. Again, once paired, remember to edit the
sudo nano /etc/udev/rules.d/10-local.rules
02/10/2016 at 00:44 #116633hobbswon
ParticipantThat’s pairing in joystick mode. That’s fine for retroarch emulators.
But Vice needs the controller to be paired in controller mode for the proper functionality.
And in joystick mode CoolCV completely ignores the dpad input.
So in order to utilize these emulators the ability to pair and switch between modes is necessary
02/10/2016 at 00:49 #116635jbfortune
ParticipantOkey doke, understood.
02/23/2016 at 02:11 #117858hobbswon
Participant[quote=114937] @nbk7
If you want to force a connection you can try this script – make it executable and put it in /etc/init.d/
#!/bin/bash sudo bluetoothctl << EOF power on connect [MAC Address] exit EOF
For others reading this, dont do this as the retropie bluetooth menu covers most situations doing this on its own.
[/quote]
Floob,
I tried this script and it does not connect when switching between modes. It will only connect the last MAC that was paired through the config tool.
Here’s the script.
I placed it in
/etc/init.d
And then ran
sudo chmod +x /etc/init.d/xxxxx.sh
No go
02/23/2016 at 19:59 #117936Floob
Member@hobbswon
Check the bottom of the Wiki here for another way to keep scanning:
https://github.com/retropie/retropie-setup/wiki/Setting-up-a-Bluetooth-controller02/25/2016 at 23:49 #118168stevetb
ParticipantRetroPie 3.5 and SFC30 issue:
Details:
-Raspberry Pie 2 running RetroPie 3.5 (Fresh Install, not updated)
-Controller = SFC30 with most current firmware from website
-Using START+R to connect each time to pie
-rules file was created for SFC30 @ sudo nano /etc/udev/rules.d/10-local.rules
-Kinivo Btd-400 Bluetooth 4.0 USB AdapterI am able to connect and use the SFC30 within ES without issues, all buttons seem to work. When I enter any game only the directional pad works correctly. The A button works, but is mapped to the start button. No other button appears to work.
To correct I go into the joystick configuration and change the button layout for the 8Bitdo. I save the changes, then am able to enter Retroarch without issues and play all roms.
On Reboot however, the mappings change back to the mess they were before. I believe it is falling back to the .BAK but have not been able to test.
I thought about these solutions:
1. Delete .BAK file for joystick configuration and see if this works
2. Lock file so file cannot be altered or deleted by systemWhat are the thoughts of users on this thread about this? Am I on the right track? Anyone else having these issues?
Thank you,
Steve02/26/2016 at 00:15 #118170Floob
MemberUpdate your controller file here:
/opt/retropie/configs/all/retroarch-joypads/{controller-file.cfg}The SFC30 doesnt create the correct buttons, so change them to the correct ones – this is shown in the video on the Wiki.
https://github.com/retropie/retropie-setup/wiki/Setting-up-a-Bluetooth-controllerOr just use the codes shown here:
https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo-SFC30-GamePad-Bluetooth-Mode(START%2BR).cfgIn terms of the file being overwritten – as long as you dont reconfgiure your controller each time it should be fine. Just update the file as above, save it (maybe open it up and make sure changes are in there) and remove any controller files you dont need including the .bak. Then when you reboot it should go straight into ES – does it ask you to reconfigure the joypad? Do you update it via SSH?
02/26/2016 at 05:24 #118207stevetb
ParticipantThank you Floob!
I copied the configurations over, made sure they were saved, and then removed the .BAK files. The SFC30 is running great!
Thank you again!
-Steve
03/01/2016 at 23:22 #118773mikegrice10
ParticipantHi Floob,
I’ve been having a similar issue to Steve in this thread (which he’s kindly tried to help me with):
If you could have a look I’d really appreciate your thoughts.
-
AuthorPosts
- The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.