It’s why there’s nothing else like a Mac. MacOS is the operating system that powers every Mac. It lets you do things you simply can’t with other computers. That’s because it’s designed specifically for the hardware it runs on — and vice versa. MacOS comes with an entire suite of beautifully designed apps. I like to get everyone the right info and I like to help others get the most from there electronic devices. I enjoy playful cleverness and the exploration of technology. My Motto: You own it, you can do whatever you want with it. Ordered shells from Basstop on Amazon. Put them on last night and it was incredibly frustrating. Taking apart the joycon itself was simple. I've taken apart plenty of controllers and arcade sticks over the years, and there's nothing too crazy to deal with in the joycon.
A vJoy feeder / Driver for the Nintendo Switch JoyCons and Pro Controller on Windows with analog stick support and motion controls
How to use

Install vJoy, here: http://vjoystick.sourceforge.net/site/
Setup your vJoy Devices to look like this (search for configure vJoy in Windows search):
- Add a device for every controller you have, so if you have 4 JoyCons and 1 Pro Controller, enable 5 devices
Pair the JoyCon(s) / Pro Controller(s) to your PC
Run the Application, if it doesn't detect your JoyCon(s) / Pro Controller, make sure they are fully paired / connected and restart the program.
- For the latest features and updates, just click check for updates, updating is (mostly) automatic
Once the program is running vJoy should register the input from the JoyCon(s) / Pro Controller.
- To verify it's working you can use the vJoy monitor that comes with vJoy, it should look something like this: http://i.imgur.com/x4Fn7Cq.png
- To re-pair the JoyCon(s) / Pro Controller go into Settings and remove them and then pair them again.
- You'll likely want to use this with something like x360ce (http://www.x360ce.com), which will let you map the vJoy device to a virtual xbox controller for games that support them.
Here's a screenshot of the actual program:
Settings and features (some settings are only in the config file!)
- Combine JoyCons
- Combines a pair of JoyCons into a single vJoy device
- Reverse Stick X/Y
- Reverses the X/Y direction(s) for both sticks
- Gyro Controls
- Enables controlling the mouse with a JoyCon like a WiiMote
- Prefer Left JoyCon
- By default, the right JoyCon is used (if found), this forces the program to use the left JoyCon (if found)
- Gyro Controls Sensitivity X/Y
- Controls the sensitivity -> higher = more sensitive
- The X sensitivity also controls the gyro sensitivity for Rz/sl0/sl1 in vJoy
- Gyroscope Combo Code
- A number that tells the program which button or set of buttons to use to toggle gyro controls
- To figure out what number to put in the config, look at the Gyro Combo Code when you press your desired keycombo
- Quick Toggle Gyro
- Changes the behavior of the Gyro toggle from a standard switch, to a 'always off unless keycombo is pressed' mode
- Invert Quick Toggle
- Changes the behavior of the quick toggle from always off unless keycombo is pressed to always on unless keycombo is pressed
- Gyro Window
- Opens up a visualizer for the JoyCon's gyroscope
- Dolphin Mode
- Makes it so that the Rz/sl0/sl1 sliders in vJoy don't reset back to 0 when the JoyCon stops moving
- Mario Theme
- Plays the Mario theme on the first connected JoyCon at startup
- Debug Mode
- Prints debug info to the console
- Write Debug to File
- Writes the debug info to a file
- Force Poll Update
- Don't use this, probably
- Broadcast mode
- Don't use this, probably

Important Notes
- The JoyCons need to be re-paired anytime after they've reconnected to the switch
Contact
- If you have any questions about anything the fastest way to reach me is probably my discord server or (fosse#0430) or twitter (@fosseisanerd) or even my email matt.cfosse@gmail.com
- If you find a bug please don't hesitate to make an issue, I'll try to respond within 24 hours if possible
Donate
- If you like the project and would like to donate:
- BTC Address: 17hDC2X7a1SWjsqBJRt9mJb9fJjqLCwgzG
- ETH Address: 0xFdcA914e1213af24fD20fB6855E89141DF8caF96
Thanks
- Thanks to everyone at: https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/
Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upHave a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
commented Apr 8, 2018
When I'm trying to change the right joycon's color, it keeps saying that I need to push a button for it to reconnect when its connected, I try to repair it and it keeps coming up with that |
commented Apr 8, 2018
Joycon Toolkit Version 1.3
What jc toolkit version you used? Windows version? There was another one that had the same problem. He could connect to the controller, and open the app, but nothing else. I still believe there's something wrong with the drivers initialization from windows when this happens. My app after opening it, when you try to do a function, it tries to reopen the hid handle to the joy-con, to make sure that it's still connected. If it fails, it shows this message. I believe that sth takes full control of the handle and does not let the app to connect again.. |
commented Apr 14, 2018
I am using the 5.0 version with a windows 10 laptop manufactured by HP. It does show the serial number, mac address and its default color when manufactured and it is the same when I re-open it. Heres what it says with this picture I had attached and the Home button flashes its secret blue light that many people know about now. |
commented Apr 14, 2018
So it fails to re-open the hid handle at I think that sth happens when it fails (as it should) to connect to a left joy-con and then tries to connect to a right joy-con. Try this version: I've added 15ms delay between the controller exists checks and also some debug printing |
commented Apr 14, 2018 • edited
edited
By the way, you use the Microsoft BT stack? |

commented Apr 17, 2018
I tried the one with the 15 milisecond delay and this still happened |
Small Tool Kit
commented Apr 17, 2018 • edited
edited
The drivers are intel, but are based on the Microsoft bt stack. You can see the Microsoft bluetooth sub-devices below it. I don't understand why that happens. It's like the controller disappears or the app takes exclusive usage. But in windows you can't do that in user mode. And my app does not work in kernel mode hid. Anyway, I will send you another revision. A special build that will not check for connectivity after connecting the first time. I'll upload a build here in the next 3-5 hours. |
commented Apr 17, 2018
Please check the following build: You need to run disable_connection_check.bat If this works, I'll add it to the next release. This basically does not check the connection status by trying to open the HID device handle again. |
commented Apr 21, 2018
It worked!!!!! Thank you so much!!! |
commented Apr 28, 2018
Feature for this edge case was added in v5.2.0 Thanks @Alexzandro for testing |