Hacking [Tool] Joy-Con Toolkit

  • Thread starter Thread starter CTCaer
  • Start date Start date
  • Views Views 1,288,882
  • Replies Replies 1,757
  • Likes Likes 136
New v1.5.1 hotfix version released!

Check OP for changelog.

About the HOME LED:
The problem with HOME LED is not the app.
In Linux I run only the 0x38 command or a chain of commands and it always work. USB or BT
In windows I do the same, one command or the same chain and it doesn't lit up.
Checked with Wireshark and the packets were the same.

So I think that linux and windows do a different pairing. And in initialization something is not sent to the device in windows and for some reason the HOME led is disabled.
I will create a dummy app to try with USB and see what will happen...
 
Cheers!

And oh, okay I guess it'll be difficult in the long run... how strange. Oh well, we'll see how it goes. Thank you!
 
I'm seeing a heated war in the comments of Spawn Wave's video about this, and I get that its unlikely but I'd like to have evidence just to be sure: Has anyone played online using Joy-Con with edited colours, and have you been warned/banned from the online service as a result? Looking for personal experience here. Oh and also, is it possible for Nintendo to see if the colours have been edited, even if you change them back before sending them in for repairs (do joy-con save records or something)? I doubt it, but I guess anything's possible. Thanks.
 
Last edited by dsantor9,
upload_2017-8-8_20-11-11.png
 
Sorry, is there supposed to be something attached here? The comment is empty outside of my profile next to yours and your signature, but under your profile it says ATTACH (my bad if I'm missing something here, I just made my account lol). EDIT: WAIT THATS A SCREENSHOT MY BAD

--------------------- MERGED ---------------------------

Sorry, is there supposed to be something attached here? The comment is empty outside of my profile next to yours and your signature, but under your profile it says ATTACH (my bad if I'm missing something here, I just made my account lol). EDIT: WAIT THATS A SCREENSHOT MY BAD
Boi I wanted to ask so I made an account what do you want from me lol
 
Last edited by dsantor9,
I will reply because common sense is bit of a problem nowadays..

  1. 2 months now with changed color. And online all the time.
  2. Repair center can't see if you changed them back. It's a flash storage. You write directly to the physical layer.
  3. It's a controller... You can't ban an account for that. Then everyone with 3rd party controller should be banned.

Let's be realistic.

The only problem is if you need to send it for repair. Then you must change it back.
And if you can't change it back, 99% they can't also check it and that means mainboard repair..

EDIT:
In topic
So, HOME led does not work with USB also. It has something to do with windows (I only tested Windows 10).
The funny thing is that it's the only sub command that does not work.
Lastly, USB is a pain. It's quirky and the controller rejects packets if they are fast enough... I don't think I want to dive into this mess...
 
Last edited by CTCaer,
I will reply because common sense is bit of a problem nowadays..

  1. 2 months now with changed color. And online all the time.
  2. Repair center can't see if you changed them back. It's a flash storage. You write directly to the physical layer.
  3. It's a controller... You can't ban an account for that. Then everyone with 3rd party controller should be banned.

Let's be realistic.

The only problem is if you need to send it for repair. Then you must change it back.
And if you can't change it back, 99% they can't also check it and that means mainboard repair..
Makes sense. Sorry, I've seen a ton of comments regarding this and I figured this would be the answer but i just wanted to be absolutely sure since Spawn Wave's pinned comment suggested a ban was possible. Don't wanna cause trouble, this tool looks awesome. I'll be sure to add a comment with a screenshot once I get it working. Thanks!
 
No worries. If you want to keep your account, just don't mess with the actual hardware that uses the account.
And ofc if you are a media creation company, you keep some distance. This is a must behavior.

Also, it's true that the Joy-Con warranty is voided. (But we all know that you can just write the warranty back :P)
 
  • Like
Reactions: dsantor9
I ran into a big issue, so I got custom joycons done and I wanted to change the colors of them to reflect the shell, well I downloaded everything I needed and backed up my left joycon, then I changed the body color and clicked write colors, it was loading for quite some time but then the program crashed, now none of my joycons connect to my computer anymore so I can no longer change the color... any fix for this would be greatly appreciated and first one to help me out with a fix to this I am willing to give $5 on paypal if you link your paypal email. This just really sucks and I would love to find out a fix!
 
EDIT:
In topic
So, HOME led does not work with USB also. It has something to do with windows (I only tested Windows 10).
The funny thing is that it's the only sub command that does not work.
Lastly, USB is a pain. It's quirky and the controller rejects packets if they are fast enough... I don't think I want to dive into this mess...
Damn, that's really odd, huh? Maybe Shiny Quagsire (@shinyquagsire23) can give you a hand, but as far as I know he would probably only work on Linux. It's very weird it's the only subcommand that doesn't work, yeah. Interesting...
 
then I changed the body color and clicked write colors, it was loading for quite some time but then the program crashed, now none of my joycons connect to my computer anymore

Go to Devices and Printers (if you have windows 10, do the same, dont go to settings).
There you will find Joy-Con L or R, right click remove.

Then go to settings->add devices or to bt settings and re-pair.

The problem is windows being windows. Because of testing I had this problem many times. For me it happened when I was connecting it to Switch and then I was doing the whole remove/add device to re-pair it very fast.

Also when you are using the toolkit, make sure that only one device is connected at a time (press sync button once to the other device to turn it off).
 
or try core. But that would be a little bit more work :D

You can now check the source code :D

BTW, I remembered a suggestion you did for the color dialog,
why ALL custom color dialogs and frameworks are in C#?
In the end I will write my own color dialog, with retail colors and then it will call the winforms colordialog.

Lastly, my plans for now:
1. Deduplicate all the protocol functions. And some winforms stuff.
2. Split Main/connection logic and protocol functions
3. Color dialog once and for all?
4. Secret?!
 
Last edited by CTCaer,
You can now check the source code :D

BTW, I remembered a suggestion you did for the color dialog,
why ALL custom color dialogs and frameworks are in C#?
In the end I will write my own color dialog, with retail colors and then it will call the winforms colordialog.

Lastly, my plans for now:
1. Deduplicate all the protocol functions. And some winforms stuff.
2. Split Main/connection logic and protocol functions
3. Color dialog once and for all?
3. Secret?!
Ok :) sure will.
naah, i don't have a problem with the use of all c# stuff. I just like the Color Wheel from the control i showed you. Using it for my Wireless RGB Light Strip Control. :D
 
Damn, that's really odd, huh? Maybe Shiny Quagsire (@shinyquagsire23) can give you a hand, but as far as I know he would probably only work on Linux. It's very weird it's the only subcommand that doesn't work, yeah. Interesting...
So I found out why the HOME led does not work...
Because I documented wrong, believing that it takes only one argument.

Actually it takes more, the 2nd is when to stop blinking/breathing.
So in Linux, Shinys tool sends a packet with a set length, unlike windows which for some reason hid api has a minimum output buffer.
So mine sends an initialized to zeroes buffer, so the 2nd argument becomes 0 and therefore stop blinking after 0 time.
 
So I found out why the HOME led does not work...
Because I documented wrong, believing that it takes only one argument.

Actually it takes more, the 2nd is when to stop blinking/breathing.
So in Linux, Shinys tool sends a packet with a set length, unlike windows which for some reason hid api has a minimum output buffer.
So mine sends an initialized to zeroes buffer, so the 2nd argument becomes 0 and therefore stop blinking after 0 time.
any plans on fixing it?
I would like to have my home LED activated.
 
Already fixed locally, but I have to see what approach to follow. E.g. argument can now take 8 bytes.
Also, I will publish it after I document the subcommand correctly.
 
  • Like
Reactions: Ep8Script
I don't have time to clean or deduplicate the source more, so there you have it:

The source code is now up!
I'm gonna have to start learning some C# now lol. I might mess around with it and experiment with new features.

Edit: Ok, it took like half an hour, but I finally figured out how to actually build the project (having literally never done any C# development ever)
 
Last edited by dj505,

Site & Scene News

Popular threads in this forum