I recently discovered an interesting little thing: the Nintendo Switch controllers (Pro Controller and Joy-Con) are MFi compatible…
… with macOS. Don’t ask me why: it works on macOS Monterey (12.2) but not on iOS (my iPhone 11 doesn’t see the controllers at all).
Officially, Apple supports only a few gamepads: those that are explicitly compatible (like SteelSeries Nimbus+, for example), Xbox controllers (One and Series) and PlayStation controllers (DualShock 4 or DualSense). But while looking for something on the Luna controller from Amazon, I discovered that macOS contained both the data for the Luna controller and for the Joy-Con and the Pro controller from Nintendo.
The Switch Pro Controller
I bought a Switch Pro controller and once paired (just press the sync button for a few seconds) it works on macOS. The
Home button even launches the Launchpad directly into the “Games” section. I tested it on a few Apple Arcade games (Asphalt 8+, The Pathless, NBA 2K22, Oceanhorn 2 , etc.) and everything is perfectly functional. My few test tools also show that it is actually used as an MFi controller (and anyway, Nintendo’s Pro controller does not work by default in Bluetooth HID). Be careful, the classic App Store test tools do not detect the gamepad, but in general they explicitly look for models known to be compatible. The rumble even works in the rare compatible games like The Pathless. I’m not sure if it works everywhere (some games probably try to detect the type of controller…) but in my tests, it does. The only small flaw comes from the fact that the layout of the buttons is reversed: Nintendo uses
Y (clockwise), while the others more generally use
I then tested with the Joy-Con, which are not very suitable for this use. For various reasons, Nintendo connects them separately: we therefore have a left Joy-Con and a right Joy-Con, each with only an analog stick and a few buttons. It’s definitely not usable on Apple Arcade titles (and macOS in general) and even if you bundle them with the Joy Con grip provided with the console, it doesn’t work. It is technically compatible, therefore, but not really usable (and that’s too bad).
Finally, compatibility is limited to the Joy-Con and Pro controllers, while Nintendo Switch Online controllers are not recognized in MFi.
Don’t ask me why it works on macOS and not on iOS, I have no idea and I don’t even know how to check if the necessary files are available on iOS. I tried on an iPhone 11, an old iPad Pro and the Apple TV, and the controllers are not detected (unlike on macOS).