IOKit wrapper for Nintendo Joy-Con and ProController (macOS, Swift)
Using CocoaPods
Add the following to your Podfile:
pod 'JoyConSwift'
To use controllers, you need to check Signing & Capabilities > App SandBox > USB in your Xcode project.
import JoyConSwift // Initialize the manager let manager = JoyConManager() // Set connection event callbacks manager.connectHandler = { controller in // Do something with the controller controller.setPlayerLights(l1: .on, l2: .off, l3: .off, l4: .off) controller.enableIMU(enable: true) controller.setInputMode(mode: .standardFull) controller.buttonPressHandler = { button in if button == .A { // Do something with the A button } } } manager.disconnectHandler = { controller in // Clean the controller data } // Start waiting for the connection events manager.runAsync()
dekuNukem/Nintendo_Switch_Reverse_Engineering - A look at inner workings of Joycon and Nintendo Switch
JoyKeyMapper - Nintendo Joy-Con/ProController Key mapper for macOS