Joystick CHOP with native MacOS Sequoia support does not read all buttons

Tested on:

  • Touchdesigner 2023.11880
  • MacOS Sequoia 15.1.1
  • Controller: XBOX Wireless Controller Model 1914

Context:
Since MacOS has now native bluetooth gamecontroller support (we waited long for that one, didn’t we?) i thought i give it a shot in Touchdesigner. I connected my controller via bluetooth to my macbook (it shows in the preferences as connected gamecontroller). Then i opened a fresh Touchdesigner project and created a joystick CHOP, selected “Xbox Wireless Controller” from the Joystick Source and started hammering all the buttons.

expected behaviour:
Joystick CHOP should return values for all buttons/sticks

observed behaviour:
Joystick CHOP does only react to the following, with a strange mapping:

  • stick left: leftright mapped to xaxis, updown mapped to yaxis
  • stick right: leftright mapped to zaxis, updown mapped to zrot
  • A = b1
  • X = b4
  • Y = b5
  • B = b2
  • cross: leftright mapped to p1_X, updown mapped tp p1_Y

All other buttons & sliders don’t return values, which is not expected behaviour. Mapping could be fixed easily ofc…

Any ideas how to track this down?
Thank you so much!

Hello @boinappi

Thanks for the report.

This will be investigated.

Best,
Michel

Nice! Feel free to reach out if you need any additional information…

I am also experiencing this on:

  • Touchdesigner 2023.12120
  • MacOS Monterey 12.7.5
  • Controller: XBOX Wireless Controller Model 1914

hey @slickobamba

MacOS 12.7 doesn’t support Xbox controller right out of the box right? so which driver did you download to use the controller?

hey @boinappi

We’re looking into the issue. In the meantime, could you try increasing the length of the Button Array parameter to say b[1-20] or so. It is possible that some buttons maybe getting mapped to higher channel indices.

Thanks,
Varad

Nice catch @varad!
By reading buttons 1-20 i could identify the following buttons:

  • stick push left → b14
  • stick push right → b15
  • LB → b7
  • RB → b8
  • Window button → b11
  • Burger button → b12
  • XBOX button → b13

Now there are only the following missing:

  • Sliders LT and RT
  • The small middle button with “file upload” (or so) icon - mb it’s reserved for XBOX specific behaviour

That’s great!
We’re looking into the behaviour for the LR triggers

Thanks,
Varad