ndeadly / MissionControl

Use controllers from other consoles natively on your Nintendo Switch via Bluetooth. No dongles or other external hardware neccessary.
GNU General Public License v2.0
2.59k stars 141 forks source link

[Controller Request]: Turtle Beach Recon Cloud Controller #838

Closed PogEternal closed 4 months ago

PogEternal commented 4 months ago

Controller Name

Recon Cloud Controller

Current Controller Behaviour

Controller is not successful in pairing with the console

Controller vendor and product ID

No response

Supported Features

Input Report Format

No response

Additional Details

No response

ndeadly commented 4 months ago

This might be another BLE controller, if it won't connect to the console. Come join my discord server and check out the #testing-ble channel. There are experimental builds in the pinned messages that support BLE devices.

ndeadly commented 4 months ago

Oh yeah, it's definitely BLE. I just saw this regarding compaitbility on their website

Android 8.0+ Devices with Bluetooth® 4.2 or Later

May even prove problematic on Switch, it's only supporting Bluetooth 4.1. Let's see

PogEternal commented 4 months ago

It did connect with the experimental build but now I’m not getting any input from it

ndeadly commented 4 months ago

That's to be expected. If the controller id isn't recognised it will be connected using the default handler, which doesn't map inputs. It should have created a log (sdmc:/mc-mitm.log) that contains the controller id. Share it here for me to take a look at

PogEternal commented 4 months ago

mc-mitm.log Here you go

ndeadly commented 4 months ago

Cool, thanks. Am I right in understanding that this is essentially an Xbox controller?

PogEternal commented 4 months ago

Yes

ndeadly commented 4 months ago

MissionControl-0.11.1-ble-bond-ed07309.zip Whitelisted as an Xbox controller. Let me know if it works

PogEternal commented 4 months ago

I’m getting input from the joysticks but it’s going up on its own and in general they are very spastic and inconsistent. Also the rest of the buttons still have no input.

PogEternal commented 4 months ago

Just discovered something else through control stick calibration. It seems like both joysticks are on the same input.

ndeadly commented 4 months ago

Must not be using the standard Xbox input format then. Take a look at what it's sending with my hid report viewer app ble_tools.zip

PogEternal commented 4 months ago

Does it create a log of what I do on the apps and if so where is it?

ndeadly commented 4 months ago

No, there's no log. The idea is that you note down the changes for each input

PogEternal commented 4 months ago

Ok

PogEternal commented 4 months ago

No input - 00 80 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

LSB - 00 a0 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

RSB - 00 c0 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

D-Pad up - 00 80 00 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

D-Pad down - 00 80 04 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

D-Pad left - 00 80 06 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

D-Pad right - 00 80 02 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

A button - 01 80 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

B button - 02 80 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

X button - 08 80 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

Y button - 10 80 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

View button - 00 84 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

Menu button - 00 88 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

LB - 40 80 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | @...............

RB - 80 80 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 | ................

LT (completely down) - 00 81 0f 00 00 ff ff 00 00 ff ff ff 03 00 00 00 | ................

RT (completely down) - 00 82 0f 00 00 ff ff 00 00 ff ff 00 00 ff 03 00 | ................

ndeadly commented 4 months ago

Yeah, this layout is completely different to an Xbox controller. I guess it will need its own handler. Can you check the sticks in the X/Y axis too? Those resting values 00 00 ff ff 00 00 ff ff seem kind of strange. You're also missing the home/xbox and share buttons.

ndeadly commented 4 months ago

This should correctly map the inputs you've given me so far

MissionControl-0.11.1-ble-bond-b61091f.zip

PogEternal commented 4 months ago

If i remember correctly im pretty sure the left stick affects that first 00 00 ff ff part as well as a part of the dot segment and the right stick affects the other 00 00 ff ff part as well as a different part of the dot segment.

PogEternal commented 4 months ago

Xbox home button - 00 90 0f 00 00 ff ff 00 00 ff ff 00 00 00 00 00 00

Unfortunately the share button doesn't output anything

ndeadly commented 4 months ago

If i remember correctly im pretty sure the left stick affects that first 00 00 ff ff part as well as a part of the dot segment and the right stick affects the other 00 00 ff ff part as well as a different part of the dot segment.

That's kind of expected, but knowing what the values are at the extremes informs the data type/ranges used

ndeadly commented 4 months ago

Unfortunately the share button doesn't output anything

Share might be on a separate input report that needs to be activated. I'll look into this further later when I'm at home

PogEternal commented 4 months ago

Left stick up - 00 80 0f f6 f3 91 80 00 00 ff ff 00 00 00 00 00 | ................

Left stick down - 00 80 0f b0 fb ec 7f 00 00 ff ff 00 00 00 00 00 | ................

Left stick left - 00 80 0f 78 80 f0 0a 00 00 ff ff 00 00 00 00 00 | ...x............

Left stick right - 00 80 0f fc 7f 42 fe 00 00 ff ff 00 00 00 00 00 | .....B..........

Right stick up - 00 80 0f 00 00 ff ff a7 0e d7 80 00 00 00 00 00 | ................

Right stick down - 00 80 0f 00 00 ff ff 0c 03 f6 7f 00 00 00 00 00 | ................

Right stick left - 00 80 0f 00 00 ff ff 2f 80 2c f9 00 00 00 00 00 | ......./.,......

Right stick right - 00 80 0f 00 00 ff ff f8 7f 70 fd 00 00 00 00 00 | .........p......

These probably aren't 100% accurate but they should be accurate enough.

PogEternal commented 4 months ago

This should correctly map the inputs you've given me so far

MissionControl-0.11.1-ble-bond-b61091f.zip

Most of the buttons are working on this but the left trigger gives no input and the right trigger gives an input for the left trigger

ndeadly commented 4 months ago

Left stick up - 00 80 0f f6 f3 91 80 00 00 ff ff 00 00 00 00 00 | ................

Left stick down - 00 80 0f b0 fb ec 7f 00 00 ff ff 00 00 00 00 00 | ................

Left stick left - 00 80 0f 78 80 f0 0a 00 00 ff ff 00 00 00 00 00 | ...x............

Left stick right - 00 80 0f fc 7f 42 fe 00 00 ff ff 00 00 00 00 00 | .....B..........

Right stick up - 00 80 0f 00 00 ff ff a7 0e d7 80 00 00 00 00 00 | ................

Right stick down - 00 80 0f 00 00 ff ff 0c 03 f6 7f 00 00 00 00 00 | ................

Right stick left - 00 80 0f 00 00 ff ff 2f 80 2c f9 00 00 00 00 00 | ......./.,......

Right stick right - 00 80 0f 00 00 ff ff f8 7f 70 fd 00 00 00 00 00 | .........p......

These probably aren't 100% accurate but they should be accurate enough.

Yeah that's all I expected. I usually just plot the values as points to sanity check, so they don't need to be spot on.

Anyway, hopefully this one fixes the sticks and triggers.

MissionControl-0.11.1-ble-bond-31969cb.zip

PogEternal commented 4 months ago

Everything seems to be working great now. Thank you so much for fixing the compatibility issues my controller was having!

ndeadly commented 4 months ago

No problem. Give this one a go too and see if hid report viewer shows anything when you press the share button now.

MissionControl-0.11.1-ble-bond-03b04d1.zip

PogEternal commented 4 months ago

Nope, still no input.

PogEternal commented 4 months ago

Also while it isn't much of an issue, I did notice that the a b y and x buttons where inverted. Does that have something to do with it being an Xbox controller?

ndeadly commented 4 months ago

And this one?

MissionControl-0.11.1-ble-bond-98a173e.zip

Also while it isn't much of an issue, I did notice that the a b y and x buttons where inverted. Does that have something to do with it being an Xbox controller?

This is intentional. The idea is to match the layout of the Pro Controller buttons, not what's printed on them. With normal controllers you could remap this to your liking in the system menu. This can't be done with BLE controllers currently, but hopefully I have a solution for that by the time this is ready for release.

PogEternal commented 4 months ago

And this one?

MissionControl-0.11.1-ble-bond-98a173e.zip

Also while it isn't much of an issue, I did notice that the a b y and x buttons where inverted. Does that have something to do with it being an Xbox controller?

This is intentional. The idea is to match the layout of the Pro Controller buttons, not what's printed on them. With normal controllers you could remap this to your liking in the system menu. This can't be done with BLE controllers currently, but hopefully I have a solution for that by the time this is ready for release.

Oh, alrighty then.

PogEternal commented 4 months ago

And this one?

MissionControl-0.11.1-ble-bond-98a173e.zip

Still nothing

ndeadly commented 4 months ago

Hmm, maybe it only works in Xbox mode

PogEternal commented 4 months ago

Probably, stuff like steam doesn't recognize it in wireless mode either.

PogEternal commented 4 months ago

Anyway, once again thank you for solve this issue, I greatly appreciate it.