# 8BitDo Zero Gamepad

**URL:** <https://forum.clockworkpi.com/t/8bitdo-zero-gamepad/5825>\
**Category:** GameShell\
**Tags:** hardware, bluetooth, retroarch\
**Created:** [July 19, 2020, 9:50pm UTC](https://forum.clockworkpi.com/t/8bitdo-zero-gamepad/5825 "2020-07-19T21:50:22Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![PocketPC.ch](https://avatars.discourse-cdn.com/v4/letter/p/b487fb/32.png) [@PocketPC.ch](https://forum.clockworkpi.com/u/PocketPC.ch)\
**Post date:** [July 19, 2020, 9:50pm UTC](https://forum.clockworkpi.com/t/8bitdo-zero-gamepad/5825/1 "2020-07-19T21:50:22Z")

</div>

Hi,

I used to have it somewhat working under clockworkos 0.3 but now I am doomed under 0.5.  
Now that we have a kinda working bluetooth menu, I managed to connect my gameshell to the 8bitdo Zero. I added the udev rules as suggested here [Bluetooth device on gameshell](https://forum.clockworkpi.com/t/bluetooth-device-on-gameshell/617/11)  
obviously with the correct " and the name without space between 8 and Bitdo.  
but it is a mess and does not work with udev. SDL2 as input driver for joysticks works though when I remove the role from udev, but only for player 1. why is that not working as player 2? no matter what mode I put the gamepad in, I either get no mappings at all or keys that are already occupied by the native keypad of gameshell (e.g. h, j, u). What can I do to get it working as player 2?

---

<div class="post-metadata">

**Author:** ![javelinface](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/javelinface/32/3079_2.png) [@javelinface](https://forum.clockworkpi.com/u/javelinface)\
**Post date:** [July 23, 2020, 4:02pm UTC](https://forum.clockworkpi.com/t/8bitdo-zero-gamepad/5825/2 "2020-07-23T16:02:51Z")

</div>

I’m not sure exactly of what you’re facing, but from memory on my old rpi3, I remember specifying the device index for different played input controls.  
This was more when using a mixture of Bluetooth ps3 controllers, USB Xbox 360 controllers and a keyboard. I think the mixed nature of the inputs similarly mirrors your problem.  
It’s strange that you had of working in your 0.3 installation. Perhaps it’s a Retroarch update that changed things, or possibly your config differing.

---

<div class="post-metadata">

**Author:** ![PocketPC.ch](https://avatars.discourse-cdn.com/v4/letter/p/b487fb/32.png) [@PocketPC.ch](https://forum.clockworkpi.com/u/PocketPC.ch)\
**Post date:** [July 24, 2020, 1:46pm UTC](https://forum.clockworkpi.com/t/8bitdo-zero-gamepad/5825/3 "2020-07-24T13:46:33Z")

</div>

yes, it is something about device indexing and the autoconfig I learned meanwhile.  
I figured out now, somehow. Getting a stable bluetooth connection is hell of a luck, but this is what I did:

1. I paired the device in android mode (just holding Start to turn on) via _bluetoothctl_.
2. I marked the device as tusted.
3. I added the udev rules and rebooted.
4. I checked at the _settings_ of the launcher and the gamepad is shown as connected. If it did not, I re-connected via settings and not via bluetoothctl.
5. I went to retroarch:
6. RA under _settings_, _drivers_, I left the drivers for joysticks at “udev”
7. RA under _settings_, _input_ I selected maximum users: 2
8. RA under _settings_, _input_, _user 2 binds_ I did not attempt to bind any keys but I went to _user 2 device index_ and selected “8bitDo GamePad Zero”.
9. RA under _settings_, _input_, _user 1 binds_ make sure _user 1 device index_ is “Disabled”

Now, when I start the Gamepad by holding the start button for a couple of seconds just after I started GameSH, It gets connected (I usually double check that under Settings) and I can then launch RetroArch or any game directly (I made some shortcuts in the menu for games I play more often).
