Mystfit / ESP32-BLE-CompositeHID

Bluetooth LE Gamepad + Mouse + Keyboard library for the ESP32
Other
58 stars 2 forks source link

Compatibility with BlueRetro #16

Open Roet-Ivar opened 2 weeks ago

Roet-Ivar commented 2 weeks ago

For some reason I can't pair up with BlueRetro, a PC works fine, but it seems like it expect an xbox one controller to behave slight differently and I can't figure out why.

Mystfit commented 1 week ago

Can you confirm which version of NimBLE-Arduino are you using and are you using the version of ESP32-BLE-CompositeHID? There were some fixes made which should have fixed incorrect PID and VID values.

Also, are you basing your custom controller on the XboxXInputController.ino sketch or a generic controller? I've not used BlueRetro myself so I'll have to look up how it works.

Roet-Ivar commented 1 week ago

Can you confirm which version of NimBLE-Arduino are you using and are you using the version of ESP32-BLE-CompositeHID? There were some fixes made which should have fixed incorrect PID and VID values.

Also, are you basing your custom controller on the XboxXInputController.ino sketch or a generic controller? I've not used BlueRetro myself so I'll have to look up how it works.

Hi! I've based on the Xbox Input Controller using Nimble from the commit you linked in the description. Blueretro is very cool, even cooler in conjuction with something like this ❤️

Mystfit commented 1 week ago

@Roet-Ivar Ok, I just looked up the XBox pairing guide. Seems as though the BlueRetro is waiting for when an XBox controller is put into pairing mode. Since by default CompositeHID is always advertising, I wonder the BlueRetro if it is trying to bond with the ESP32 in a way that I'm not familiar with. I think that it verifies what device it is connected to via HID descriptors, so that should generally be enough for it to detect the device as an XBox controller since I'm using the same HID descriptors. Are you receiving any sort of indication from the BlueRetro that it can see the existence of your ESP32 running the XboxXInputController.ino sketch?

Interestingly enough, there's a discussion about pairing with ESP32-BLE-Gamepad, which is what I based my BLE code around.

Roet-Ivar commented 1 week ago

@Mystfit I was just about to make some more pairing tests (tonight hopefully), realized I was on an older firmware before. Let me come back to you when tested with the latest FW to see that this is still an issue, don't wanna waste your time if that would be the case :)

Mystfit commented 1 week ago

@Roet-Ivar How did it go. Any luck?

Roet-Ivar commented 1 week ago

@Mystfit Hi, sorry for my late reply! I've retried now making sure using Nimble from the commit linked. Unfortunately no success. I tested with a Series S control and that worked when setting it in pairing mode.

Also, it seems like the blueretro receiver gets into to this intermediate negotiation mode of pairing (the paring lights go from blinking to pulsing, instead of solid) using compositeHid.