Using Joycons with InputDeviceManager

Has anyone had any luck using the joycons with the InputDeviceManager? For context I want to use the joycons for their gyro and accelerometer features so that I can make a game that uses motion controls.

When I look at the axes and buttons most of them show up but a lot of nones show up as well. Is there a way to see what the none is on a Axes or Button? Or is there a better way to get the Gyro and Accelerometer data that I need?

Device connected
  Name        : Wireless Gamepad
  Type        : gamepad
  Manufacturer: 
  ID          : 057e:2007
  Axes        : 9 (none, none, none, none, none, right_y, right_x, left_y, left_x)
  Buttons     : 20 (face_a, face_b, face_x, face_y, lshoulder, rshoulder, back, start, lstick, rstick, none, none, none, none, none, none, dpad_left, dpad_right, dpad_down, dpad_up)
Device connected
  Name        : Wireless Gamepad
  Type        : gamepad
  Manufacturer: 
  ID          : 057e:2006
  Axes        : 9 (none, none, none, none, none, right_y, right_x, left_y, left_x)
  Buttons     : 20 (face_a, face_b, face_x, face_y, lshoulder, rshoulder, back, start, lstick, rstick, none, none, none, none, none, none, dpad_left, dpad_right, dpad_down, dpad_up)

Running the device_tester.py example. Nothing gets mapped or responds.

I am on Windows 10 with Panda3D 1.10.14.

Hey there, sorry for the late reply but I just got to test this myself today.

It may be that you require special driver for this on windows but in general panda can work with the joycons. On Linux they work out of the box and should look somewhat like this in the end.

This is just with the left controller connected. The X axis is forward/backward movement, Y is sidewards and Throttle up/down

right_x is roll
right_y is pitch
and yaw is yaw

1 Like

Thanks for your help!
That’s good to know that it may be a Windows specific issue. I’ll have to do some more research on my end or finally switch over to Linux. :laughing:

Well, it should still work on windows in the end if you intend to use it in released programs. :stuck_out_tongue:

Do you know about this joycon driver for windows? It seems to be the first that pops up when looking it up. I currently don’t have any windows machine to try this on myself though.

It may also require vJoy to feed it’s data in and to create a virtual controller. I guess this will then all be handled in the background by windows and present itself as a “normal” controller to Panda3D in which case it should just work. If it doesn’t there may be things missing that need to be implemented in the engine.

1 Like

I gave those a go and it worked better then the default driver but overall it still seemed to have a lot of issues (missing buttons, only able to track 2 axis of gyro) compared to those Linux drivers.