MrCrayfish / Controllable

Adds in the ability to use a controller to play Minecraft Java Edition
https://mrcrayfish.com/mods?id=controllable
GNU General Public License v3.0
268 stars 81 forks source link

Nintendo Switch Pro Controller not working on MacOS #345

Open enhancedrock opened 2 years ago

enhancedrock commented 2 years ago

Hi there, I'm unsure if this is a problem with how I've done something, but I've paired my Switch Pro Controller to my iMac and upon attempting to use any button, even in the gamepad tester nothing is recognised, but using games aside from Minecraft and web games can recognise it just fine.

MrCrayfish commented 2 years ago

Use USB instead of Bluetooth

MeoJoy1228 commented 2 years ago

It is still not working. My device is listed as a controller and has the green checkmark.

John-Lea commented 2 years ago

Same here. Tried both USB and bluetooth. The controller connects, shows up on gamepad tester, but Controllable will not recognize it. On either macOS Monterey or Ventura.

JHGFD82 commented 1 year ago

I was able to get it working once but am having trouble retracing my steps. The closest I get is getting the right analog stick to move in the split second after it connects, but then it gets stuck in that position until the controller shuts off. All other apps work perfectly, as does the Gamepad Tester website.

ravenfox5 commented 1 year ago

I am also having this issue

DanDavMc commented 1 year ago

Also having an issue. Mac Pro M1 Max running Monterey. Nintendo Switch Pro Controller connected via Bluetooth. The mod sees the control in the options screen, but when I run the test interface, no buttons register. Not sure what else to try.

MrCrayfish commented 1 year ago

Connect via USB if possible. Install Steam as it also provides drivers for controllers. Otherwise, if applicable try with another controller.

artemisSystem commented 1 year ago

Update to macOS 13 Ventura. The new controller support in that update made it work for me.

MrCrayfish commented 1 year ago

This is good news! I wonder what other controllers may work now.

SamDS2109 commented 1 year ago

Update to macOS 13 Ventura. The new controller support in that update made it work for me.

I'm on Ventura 13.2 yet my pro controller is showing up in the menu with no input at all

MrCrayfish commented 1 year ago

@Sammy3968 What version of Controllable and Minecraft are you using?

conlanpatrek commented 1 year ago

Similar issue. Version 1.19.2 of Minecraft, version 0.17.0 of controllable. Mac Big Sur.

The pro controller shows up in the gamepads list correctly. If you go to layout, though, it doesn't respond to input at all. If you disconnect and reconnect your controller while on layout, you can see it responds to input for about a second and then stops again.

Occasionally we can get it to work for longer, and even get a little gameplay out of it. Once we got it to work, but only with a couple of buttons, which was strange. It always stops eventually though.

Happy to try and work with you on resolving this, even if I gotta pull down the codebase and run it from here. I'm not a Java guy, but between the two of us I'm sure we can get a workable repro. I would get huge brownie points from my wife if we fix this so lmk.

MrCrayfish commented 1 year ago

I'd first run through the Linux method of connecting a controller, since using Steam may allow you to use your Switch Pro controller. https://mrcrayfish.gitbook.io/controllable-documentation/guides/how-to-connect-a-gamepad/method-4-steam-virtual-gamepad

conlanpatrek commented 1 year ago

Following up! The linux / steam method did work for Mac. We had tried the steam route before, but didn't realize that launching it through steam was necessary to get those drivers to function. Tysm.

Can we remove the "If running on linux" line from that page to make it clearer that it works for more than just linux? Can open a separate ticket if you like.

conlanpatrek commented 1 year ago

It also says "Linux only" further down on the page.

MrCrayfish commented 1 year ago

Good to know. If anyone else can try the Linux method on macOS, I can confirm it's a solution.

lannybroo commented 3 months ago

@MrCrayfish, @conlanpatrek: I can confirm the same issue exists on an up-to-date ARM Mac in August 2024 with macOS 14.6.1, Minecraft 1.20.1, Framework 0.7.6, Forge 47.3.0, and Controllable 0.20.3.

I see all the same symptoms where the Switch Pro Controller:

  1. Works for other macOS games and on the Gamepad tester website
  2. Shows up in the Controllable configuration UI within Minecraft with a green checkmark
  3. But, no inputs from the controller are actually making it to Minecraft (no button presses or joystick motion does anything in the game)
  4. Same results with controller connected via Bluetooth or via USB-C

I also tried launching via Steam as recommended and this does enable controller input. In a few minutes of fiddling, I was unable to figure out how to get character motion working in this setup even after making the left joystick emulate a WASD DPAD in the Steam interface. I'd need to fix this to make controller play actually usable.

I'm happy to help further diagnose the issue. I do a fair bit of cross-platform (Windows, Linux, macOS) Java development in my day job but I'm new to the Minecraft game and mods world as of this weekend (kids are excited about it, so I'm having fun with it too).

lannybroo commented 3 months ago

For anyone reading this thread and seeking an alternative, I found that the Controlify mod works well on macOS, the Switch Pro controller, and all the way up to Minecraft 1.21.1. I got it working in conjunction with the Fabulously Optimized mod pack.