The OG Joy-Con Toolkit is now accessible as an API. The goal is to eliminate the dependency to CppWinForm UI framework and expose an API for our fellow joy-con hackers. Feel free to create a pull request if you want to contribute to the API.
TODOS:
-
Port Orginal UI from CppWinForm using ImGui as a UI framework.
-
Show Controller Information
- S/N, FW, MAC ... etc.
- Battery and Temperature Information
-
HD Rumble Player
-
Device Colors
-
Playground Testing
- Button Test
- NFC Reader
- Stick Calibration
- Acc/Gyro Calibration
- 6-Axis and Stick Device Parameters
-
IR Camera
- IR Camera Settings
- IR Camera Capture/Stream
-
User Calibration and Stick Device Parameters
-
Backup and Restore Device SPI
-
Alpha API with ImGui Screen shot:
Build the project with with CMake to get the above result.
Add the following line after the project() declaration to build the project with CMake as API only:
set(JCTOOL_API_ONLY TRUE) # Add this line.
# Uncomment the following line you are building the project from a parent directory.
# add_subdirectory(jc_toolkit)
You must have valid udev rules in order for Joy-Con Toolkit to detect your controllers. Follow the steps below if you need the valid udev rules.
-
Find the file named "50-nintendo-switch.rules" in the root directory of the repo.
-
Run the command to copy the file into the udev rules directory:
sudo cp ./50-nintendo-switch.rules /etc/udev/rules.d
- Reconnect your controller if it was already connected.
Below is a screen cap of the original Joy-Con Toolkit program using the CppWinForm UI framework:
Microsoft Visual C++ 2017 (x86) Redistributable (All Windows versions)
Microsoft .NET Framework 4.7.1 (for Windows lower than Windows 10)
Official forum and Binary releases: https://gbatemp.net/threads/tool-joy-con-toolkit-v1-0.478560/
Protocol reverse engineering: https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering
Protocol and hidapi usage in Linux: https://github.com/shinyquagsire23/HID-Joy-Con-Whispering
In windows: https://github.com/shuffle2/nxpad