Hardware Connecting Joycon's to PC Tutorial (With Analog Support!)

NoThisIsStupider

Well-Known Member
OP
Member
Joined
Dec 6, 2015
Messages
144
Trophies
0
Age
22
XP
558
Country
Canada
Alright, gonna try my hand at guide writing. As of yesterday it came to my attention a man named mfosse made a driver for Windows that allows you to connect Joycons to your computer and use them with FULL ANALOG SUPPORT. Considering before the analog sticks were just mapped to dpads, this is a pretty big breakthrough that went relatively unnoticed. So here we go:

I made a video version of this guide! I'll reupload this with updates when they are needed. Not in it for the views. Check it out here:


IMPORTANT NOTE: PAIRING JOYCONS VIA BLUETOOTH
Just to make sure nobody messes this up, I'm gonna jot down how to pair the joycons with bluetooth. Note that this is written for Windows 10, however it should work for Win8 as well. Windows 7 should be able to work with the Joycons, but I'm not sure if you need a different bluetooth stack.

To pair: On each Joycon, there is a small sync button, located directly beside the lights that blink. Press this button once quickly to turn the Joycon off, then press and hold it until the lights start flashing. Open the windows 8/10 bluetooth menu, and pair both "Joycon (R)" and "Joycon (L)", order does not matter. If you pair them with a different computer, or they just don't seem to be working, try removing them from the bluetooth menu, then pairing them again. That's it. Guide continues normally below:
tRBtAWN.png
bF1re0X.png

  • Download the repo as a zip, and extract to somewhere on your computer the contents of:
  • \JoyCon-Driver-master\joycon-driver\build\Win32\Release\
  • The guide splits here slightly, depending on if you want separate/single joycons or both combined into one controller.
  • If you want to use a single joycon or want to use them separately, connect the joycons via bluetooth, run the exe, and uncheck combined mode.
  • If you want combined, just connect both joycons, run the Joycon-Driver and leave the settings at the default
  • One more thing. If you want xInput, which will let you use the Joycons for any game that supports the 360 controller, it's quite simple to set that up.
  • Download xOutput.
  • Extract the contents of the zip to somewhere on your computer.
  • Run the SCPdriver installer, make sure you hit force install.
  • Once that has finished up, restart your computer and then simply run XOutput. Disable any controllers that aren't vJoy, and if there's more than 1 vJoy option, you want the topmost vJoy, this is assuming you are using combined joycons. If separate, keep both vJoy entries enabled.
  • Click the settings gear and set all the options to what I've found works for a combined Joycon setup, in the image below.
  • 0mTdUH8.png
  • I haven't actually found the binds you need for separate joycons, they will be slightly different for the right and left ones. If you want to do it yourself, you can use the monitor vJoy applet in the start menu's vJoy folder to show you what button does what.
Troubleshooting

I'm going to collect solutions to problems here. This is what I've run into so far:

It says it can't connect to vJoy or something similar.
If you get this, make sure you have your vJoy updated, and check that everything about your settings matches the above pictures in the spoiler. Otherwise, make sure nothing else is using the driver, as that will also cause issues.

It says can't find VCRuntime140D OR Shows Error Code 0xc000007b

This is very likely going to happen to you, as the only solution I've found thus far is a bit stupid. Basically go download Visual Studio Community edition, you need the debug C++ redistributes, which are only able to be downloaded through visual studio. If somebody finds a better solution to this, do let me know.
As it turns out, you can just get your vcruntime140.dll from C:\Windows\System32 and copy it (not move!) over to the joycon-driver folder, then rename the copy vcruntime140d.dll, and it should work.
Edit: If after doing this the program crashes, try getting the vcruntime140.dll from C:\Windows\SysWOW64 instead, move it into the joycon-driver folder, and rename it vcruntime140d.dll.

It says can't find Ucrtbased or something similar
This one seems to need the visual studio install, not sure if there is a workaround for this one.

Y Axis on sticks is reversed
This seems to be a bug in the code. This can be solved by following the XOutput part of the guide (it accounts for this), or if you really need dInput (what vJoy uses by default), you could use something like UCR.

I clicked on the github and the developer already wrote a guide in the readme. Why did you make another one?
The guide in the github isn't quite as simple and friendly to people who aren't power users. I aimed this guide more towards that crowd, and also added some things like this troubleshooting section and the xOutput part of the guide.

There's a memory leak!
If your getting a memory leak, so far the only cause I've found is if you're using the Toshiba Bluetooth stack, after I reverted back to MS, mine stopped, so I wouldn't recommend Toshiba stack unless you have 64GB of ram or something.

There's lots of lag!
That's usually caused by interference from your computer, one thing to try is a fork of the driver you can find in a issue thread on the github, it apparently fixes the lag. If that doesn't work, try getting a USB Male to Female cord, and/or a new large bluetooth dongle. The problem directly below is also common with this issue, but not always. EDIT: Also try this fork of the driver: https://github.com/HollyJean/JoyCon-Driver, I've heard it can help, but if the problem remains, the info from before the edit may be what you need.

Only one Joycon seems to be working!
First off, make sure you used custom.bat or combine.bat, or the Joycons will be in different vJoy devices. If they're both in vJoy device 1, but you can only see inputs from one of them, chances are you have a low end bluetooth dongle and it doesn't like having more than one device connected. The solution is the same as the problem directly above, Male to Female USB, and/or a new bluetooth dongle.

Windows wants a code to pair the Joycons!
This can be fixed by pairing from the "Add a device" menu in Devices and Printers. If you don't know how to get to Devices and Printers, it's in the control panel, should be easy to find once you open the control panel.
 
Last edited by NoThisIsStupider,

cros107

Well-Known Member
Newcomer
Joined
Apr 3, 2016
Messages
54
Trophies
0
Age
21
XP
195
Country
I'm getting the error "Unable to read from joycon, disconnecting" and I'm unable to use the joycon. What do I do?
 

NoThisIsStupider

Well-Known Member
OP
Member
Joined
Dec 6, 2015
Messages
144
Trophies
0
Age
22
XP
558
Country
Canada
I'm getting the error "Unable to read from joycon, disconnecting" and I'm unable to use the joycon. What do I do?
I get that message when I disconnect a Joycon without closing the program. What Bluetooth stack are you using? Toshiba doesn't seem to work, (EDIT: Hm, it does seem to work on my desktop, but not my laptop, MS BT works on both though) (EDIT2: So after using Toshiba stack with it for awhile, it seems to have a memory leak, but ONLY if you use the Toshiba stack, MS stack works fine, so yeah, don't use Toshiba) you should use the default windows 8/10 bluetooth stack, I'll go test a couple others now actually, see if there's an alternative to MS BT stack and Toshiba.
 
Last edited by NoThisIsStupider,

cros107

Well-Known Member
Newcomer
Joined
Apr 3, 2016
Messages
54
Trophies
0
Age
21
XP
195
Country
I'm using whatever came with my Lenovo Yoga, which I assume to be the default Win 8 stack.

Also, as for the DLLs that people are missing, I just downloaded them off the internet and put them in the folder with the exe. No need to install VS.

Edit: I tried again, and it's working now! Would you happen to know how I use the combined controller and analog support with project64?
 
Last edited by cros107,

NoThisIsStupider

Well-Known Member
OP
Member
Joined
Dec 6, 2015
Messages
144
Trophies
0
Age
22
XP
558
Country
Canada
I'm using whatever came with my Lenovo Yoga, which I assume to be the default Win 8 stack.

Also, as for the DLLs that people are missing, I just downloaded them off the internet and put them in the folder with the exe. No need to install VS.

Edit: I tried again, and it's working now! Would you happen to know how I use the combined controller and analog support with project64?

I wouldn't recommend downloading DLLs off the internet, that's how you get a virus or get a program that doesn't work correctly, in this case it's fine though, if it works.

As for PJ64, if your using the latest (2.3 I believe?) you can just configure the controller and use XInput (sidenote: make sure you have XOutput set up), if an older version such as 1.6, you'll need to download the latest N-Rage input plugin (comes with 2.3), which can be found through google, and stick it in the plugins folder in the directory that PJ64 is in. From there just open controller settings, check the Xinput box, and configure it.
 
D

Deleted User

Guest
Nice that it all works now, just wish it was all in 1 program/driver rather than having to install multiple pieces of software. Still waiting for that.
 

NoThisIsStupider

Well-Known Member
OP
Member
Joined
Dec 6, 2015
Messages
144
Trophies
0
Age
22
XP
558
Country
Canada
Nice that it all works now, just wish it was all in 1 program/driver rather than having to install multiple pieces of software. Still waiting for that.

An installer will come out that combines vJoy, XOutput, and the driver itself into one package, heck if I knew how to make installers I could whip something up. One thing I could do is make a little batch script to load everything at once, would require putting everything in the same folder though.
 

forerofore

Member
Newcomer
Joined
May 1, 2011
Messages
24
Trophies
1
XP
176
Country
Colombia
cant seem to get the joycon driver to work

0jTcZwF.png

you used the wrong VCRuntime140.dll to make VCRuntime140D.dll. you should delete the one you copied and grab the other one (there is a 32 bit and a 64bit version of the same file) (one is in system32 and the other one is in syswow64)

the error shows up because you tried to run a 32 bit program with a 64 bit dll
 

NoThisIsStupider

Well-Known Member
OP
Member
Joined
Dec 6, 2015
Messages
144
Trophies
0
Age
22
XP
558
Country
Canada
you used the wrong VCRuntime140.dll to make VCRuntime140D.dll. you should delete the one you copied and grab the other one (there is a 32 bit and a 64bit version of the same file) (one is in system32 and the other one is in syswow64)


the error shows up because you tried to run a 32 bit program with a 64 bit dll
Oh really? I'll add that to the op.
well i got the program to work, but now i cant get both joycons to stay connected to pc
Sounds like a bluetooth dongle issue, one thing you can try is to connect them, then go into the device manager, right click the joycons, and click uninstall driver. After a little while they will show up in the bluetooth menu again and you can remove and repair. That will fix any driver issues, I had to do that once. Otherwise, you'll likely need a new usb bluetooth dongle, they are about $10, nothing crazy.

EDIT:
worked also with the PRO switch gamepad. thank you
You don't actually need the joycon-driver for the pro controller, all you need is XOutput, the pro controller already has the analog support and such.
 
Last edited by NoThisIsStupider,

HeRinger

Member
Newcomer
Joined
Nov 10, 2008
Messages
9
Trophies
1
XP
214
Country
United States
Doesn't work for me. Windows say the joycons are connected, but there's no light in the controllers and no response in X360ce.
 

NoThisIsStupider

Well-Known Member
OP
Member
Joined
Dec 6, 2015
Messages
144
Trophies
0
Age
22
XP
558
Country
Canada
i had bought a dongle before and using it now, but i dont know how set up xoutput or the combined bat fille
For XOutput, it's a gui, maybe look up some youtube videos about how to set it up, i'm genuinely not sure how to explain it much better than I did in the OP. For the batch file, check the OP in a little while, I'm about to make a revision that will make some improvements to the ease of setup.

Doesn't work for me. Windows say the joycons are connected, but there's no light in the controllers and no response in X360ce.
Everytime you connect them, you seem to have to remove them from the bluetooth list and re-add them before they will work again, not exactly sure why but it usually works. Make sure you're also using the sync button on the side of the joycon, directly beside the lights. Hold that down until the lights start flashing, then pair with windows.

Keep getting this
4tTNK8P.png
Hm, not actually sure what's going on there, it seems the dll is screwed up? What program did you use to extract the driver? Can you post a picture of the folder the joycon-driver is in, perhaps? Also, i'm about to do a revision of the guide, mainly changing the driver setup, perhaps try following it again after that revision.
 
Last edited by NoThisIsStupider,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BakerMan @ BakerMan:
    ubisoft should #stopkillinggames ngl
  • Badcatalex @ Badcatalex:
    sony should #stopkillinggames
  • Badcatalex @ Badcatalex:
    they killed LittleBigPlanet online, which was the main core of every LBP game
  • BakerMan @ BakerMan:
    for real
  • BakerMan @ BakerMan:
    at least with them, it was because of the DDOS attacks, ubisoft was just scummy
  • BakerMan @ BakerMan:
    fuck ubisoft, and fuck activision
    +1
  • realtimesave @ realtimesave:
    Nintendo needs to release a new console, switch is getting such shitty little games lately lol it's pathetic
  • Purple_Heart @ Purple_Heart:
    Lmao a new flashcart... The Unlock Switch... I knew it's not fake xD
    +1
  • NinStar @ NinStar:
    A new consoles won't solve that problem
  • NinStar @ NinStar:
    It will actually make it worse
  • The Real Jdbye @ The Real Jdbye:
    well actually
    a new console won't do anything right now, because the games are still in development, that's why there are few games being released
  • The Real Jdbye @ The Real Jdbye:
    it won't make the games finish any faster
  • Veho @ Veho:
    2/3rds of launch titles for the Switch 2 will just be lazy ports of Switch games anyway.
  • The Real Jdbye @ The Real Jdbye:
    probably
  • The Real Jdbye @ The Real Jdbye:
    maybe mario kart 9 will be a launch title
  • The Real Jdbye @ The Real Jdbye:
    i really want a new mario kart
  • Veho @ Veho:
    What, you mean the endless stream of DLCs doesn't count?
  • Veho @ Veho:
    Why develop a new game when you can just sell season passes forever?
  • Veho @ Veho:
    I'm still on MKDS so I'm not bothered :tpi:
  • The Real Jdbye @ The Real Jdbye:
    i like the dlc tbh, i'd like a new game more
  • ZeroT21 @ ZeroT21:
    but the current version is still selling fine at full price
  • SylverReZ @ SylverReZ:
    Hello
  • ZeroT21 @ ZeroT21:
    sup
    ZeroT21 @ ZeroT21: sup