Using two joycons with Gamepad

Mathieu LENGAGNE's icon

Mathieu LENGAGNE

1月 20 2024 | 7:36 午後

Hi !

I'm - like everyone - very happy with the last Max version and the implementation of the Gamepad object. Getting accelerometer and gyroscope data from joycons was not possible with the hi object only as Joycon are waiting for an input message to transmit those data (I think ...).

So now it's very easy, but it seems to work with only one joycon. When I have both connected I have one that does modulate a lot data from "sensor_gyro" and "sensor_accelerometer" and the other is actually making small changes to the data, but it's more like a noise-residue.

Is there any way to have both joycons connected ? The "senddevice" message is for sending message to the controller but is there a way to say to the gamepad object which controller getting data from ?

Coming out from the second outlet is the "Joycon pair" message which does not allow any routing data processing.

Thanks in advance :) I'm trying to make a little theremin patch, just for fun.

Joshua Kit Clayton's icon

Joshua Kit Clayton

1月 20 2024 | 9:52 午後

For simplicity, the gamepad object outputs data from all controllers. If you want to route a specific device's output you can use the device index values from the middle outlet to route specific device streams, like the following example. For any event, the middle output sends the source of the event, and then the event so that you can use that output to route the event accordingly

Let us know if this does or doesn't solve your needs. I don't have two working joycons at the moment to investigate specifically what your'e describing

Max Patch
Copy patch and select New From Clipboard in Max.
Mathieu LENGAGNE's icon

Mathieu LENGAGNE

1月 20 2024 | 10:16 午後

Sorry my first post was really unclear, plus my english has its limitations.

When I print the middle output of gamepad with only one joycon this is what I have :

print: 3 0 "Nintendo Switch Joy-Con (R)" switch_joycon_right

Or

print: 3 0 "Nintendo Switch Joy-Con (L)" switch_joycon_left

But when both are connected I have this message :

print: 2 0 "Nintendo Switch Joy-Con (L/R)" switch_joycon_pair

Which, unfortunately, doesn't allow any routing that I can think of at least !

Maybe I have to connect the joycons in an other way, but I'm not really sure how to acheive this.

EDIT : I should mention that I have ONLY this message, for every frame.

Joshua Kit Clayton's icon

Joshua Kit Clayton

1月 20 2024 | 11:14 午後

Okay, thank you for this additional information!

Now that I am able to replicate what you are describing (because I do have one functional joycon L/R pair), I see that when it is connected as a pair, it is only available as a single paired controller (tested on Mac OS X Ventura).

The following video and follow up comments seem to suggest that this can be toggled on/off by pressing the screen capture and home buttons simultaneously for 3 seconds, but I was never able to get the L/R joycon halves to function as separate controllers--only ever as a single unified pair. So this might be a limitation on Mac OS.

If you do search around on the internet and find any information that allows you to accomplish the computer recognizing them as two independent controllers at the same time, please let us know.

Mathieu LENGAGNE's icon

Mathieu LENGAGNE

1月 21 2024 | 9:20 午前

Hey, thanks for you response.

I've done some extended research on Github yesterday and found nothing that works on Mac. It is indeed a limitation on MacOs. That's a shame!