Hacking [Tool] Joy-Con Toolkit

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
Is anybody using a >= FHD High DPI screen?
(For example 13"-15" FHD or 2K/4K. But anything that turns on the auto scaling in win 10)

I want to test 125% (120dpi) and 150% (144dpi) scaling.
Hit me a PM to provide binaries.
 
Last edited by CTCaer,

Blazingflare

Well-Known Member
Member
Joined
Mar 3, 2013
Messages
329
Trophies
0
Age
30
XP
544
Country
United States
It's probably a bug.
Probably when I re-enabled the ability to change Pro controller buttons color, I forgot to also change the image color update function.
Because I don't own a Pro controller, I thought that it didn't support colored buttons. But it is.
Anyway, I will look into this.

BTW, @Blazingflare , this happens with whatever color you choose for buttons for Pro controller?

EDIT:
Just checked the code. Looks fine. Only white (255,255,255) for Pro controller buttons, by design, shows up as grey instead of white. It gets written though.
(I'll revisit the images though to maybe simplify them a bit or use overlays and make them smoother.)
So, are you sure that you don't write the white button color or that you use the latest released version (2.5.1)?
I was using 2.5.1.
It only writes the button colors sometimes for the pro controller. It was updating the color in the tool correctly. I just had to keep editing and saving the button colors in the tool until it showed the updated color in the tool.
The first time I used it with the pro controller I edited the body to a navy blue and the buttons to a crimson red. When I saved, the program refreshed and showed the proper body color, but the buttons showed up as grey. When I synced it back to my switch, it showed the same thing. Only the body color was changed.
When I tried editing the colors the second time, it worked and updated the colors just fine. When I went to tweak the colors, it failed to write the button colors like it did during the first time, and I had to keep editing and saving the button colors until it finally saved them and refreshed showing the right colors.
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
@Blazingflare
Ok I understand now. Well actually when you write the colors, the app refreshes the image from SPI. So yeah, if it shows GREY buttons in 2.5.1, it meant that the write failed (and the 0xFFFFFF value didn't not change).
(In v3.0.1 you will now see white buttons instead of GREY if the value is 0xFFFFFF).

I tripled checked the code in 2.5.1 and 3.0.1, and I came to the conclusion that this is probably a hardware thing or signal. And probably on the BT adapter side.
But as I said before, I don't have a Pro controller and I'm not sure about this. I can make a joy-con act like a pro controller but still the SoC inside of them are different.

Try with v3.0.1 and move a little closer to the BT adapter (if you haven't already) and tell me if it keeps doing it.
And in the end, to mitigate this, you do as you did. Try again and again, until the app refreshes with the correct colors.
 

cualquiercosa327

Well-Known Member
Member
Joined
Mar 24, 2009
Messages
201
Trophies
1
XP
428
Country
Great work! Would be add the option of use the joycon infrared for capturing images? (i am no sure but i think ,if i dont remember bad than the controller itself has the option of take pictures and/or detect shapes on its fimware,is it true?) I think it could be great for some proyects of the style of Nintendo Labo without the need of use the switch? Thanks for all your great work
 
  • Like
Reactions: MK73DS

MK73DS

Non-commutative algebra
Member
Joined
Feb 23, 2015
Messages
575
Trophies
0
Age
25
Location
France
Website
www.youtube.com
XP
1,536
Country
France
Great work! Would be add the option of use the joycon infrared for capturing images? (i am no sure but i think ,if i dont remember bad than the controller itself has the option of take pictures and/or detect shapes on its fimware,is it true?) I think it could be great for some proyects of the style of Nintendo Labo without the need of use the switch? Thanks for all your great work

That would be very cool :D
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
Great work! Would be add the option of use the joycon infrared for capturing images? (i am no sure but i think ,if i dont remember bad than the controller itself has the option of take pictures and/or detect shapes on its fimware,is it true?) I think it could be great for some proyects of the style of Nintendo Labo without the need of use the switch? Thanks for all your great work

We need to reverse engineer this part of the protocol first.
When this is done, I will implement it.
 

Blazingflare

Well-Known Member
Member
Joined
Mar 3, 2013
Messages
329
Trophies
0
Age
30
XP
544
Country
United States
It's still not updating the button colors on the pro controller properly for me.
I did notice something though. After it fails to change the button color, if I change the body to another color and the buttons to the previously attempted color, then change the body color back and try the same button color again, it will successfully write the body and button colors.
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
Well the code attempts to write the body color first and after getting a reply from the controller that the command was received, then it writes the buttons color.
So the above behavior is strange.

Are you familiar with http://desowin.org/usbpcap/ ?
This allows you to capture all the packets between your USB BT adapter (if you have a USB one) and the controller.
This can tell us exactly what's happening.
If you want to help and have time, I can tell you how to use it.
 

cualquiercosa327

Well-Known Member
Member
Joined
Mar 24, 2009
Messages
201
Trophies
1
XP
428
Country
We need to reverse engineer this part of the protocol first.
When this is done, I will implement it.
Thanks!
Other question ,i have just read you could make a joy-con act like a pro controller,how would you made?
I explain : modding the Joycon Fimware or using an external adapter ?
I bought an adapter ("My Flash Magic-NS) and i would love could use a Steam Controller on my Switch (and other machines wii u,Ps3 ) but it seem no way.
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
Thanks!
Other question ,i have just read you could make a joy-con act like a pro controller,how would you made?
I explain : modding the Joycon Fimware or using an external adapter ?
I bought an adapter ("My Flash Magic-NS) and i would love could use a Steam Controller on my Switch (and other machines wii u,Ps3 ) but it seem no way.

I've changed 2 bits in the SPI that control how the controller shows up. The firmware is the same for all 3 controllers, so this kind of thing works.
But you have half the buttons to use, so it's only for testing things.

I also have the Mayflash Magic-NS. It's the reason I don't have a Pro controller actually.
Steam controller is not supported by it yet. Maybe it can support it through USB connection.
Better ask them at [email protected] for support
 
  • Like
Reactions: cualquiercosa327

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
It's still not updating the button colors on the pro controller properly for me.
I did notice something though. After it fails to change the button color, if I change the body to another color and the buttons to the previously attempted color, then change the body color back and try the same button color again, it will successfully write the body and button colors.
So, with help from @trainboy2019 , I found out why this is happening. Pro controller has an out of spec behavior compared with Joy-Con.
I will release a new version that mitigates that.
 
  • Like
Reactions: trainboy2019

Hario337

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
99
Trophies
0
XP
212
Country
United Kingdom
So, with help from @trainboy2019 , I found out why this is happening. Pro controller has an out of spec behavior compared with Joy-Con.
I will release a new version that mitigates that.
Okay, but why does it happen only to some pro controllers and not all? Like I said before mine works fine every time, is it because it's a newer model or something? (It's a Xenoblade one)
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
Okay, but why does it happen only to some pro controllers and not all? Like I said before mine works fine every time, is it because it's a newer model or something? (It's a Xenoblade one)
Honestly, I don't have a clue.
I still believe that signal quality is the key here. Because of how my app works, and what happens if the Pro controller does not reply or replies with sth else, it can work or not.
The problem, is that in these situations, my code currently is a hit or miss. And I want it to work with every official controller.

Additionally, some projects use my read/write SPI code. And if I fix it, they also benefit from it.
 

Leggo

New Member
Newbie
Joined
Feb 28, 2018
Messages
2
Trophies
0
Age
39
XP
56
Country
United States
Has anybody with the clear atomic purple shells managed to find a decent hex colour code to match?


Sent from my iPhone using Tapatalk

For Atomic Purple, I am using Hex Code #815A94 and it looks pretty good.

See attached screenshot.
 

Attachments

  • Atomic Purple Joy Con Screen Shot.png
    Atomic Purple Joy Con Screen Shot.png
    3.8 KB · Views: 379

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
New Joy-Con Toolkit v3.0.2 is now released!

This mitigates the strange Pro Controller behavior.
And also adds some error checking for read/write SPI commands.
 
  • Like
Reactions: trainboy2019

leghoa

New Member
Newbie
Joined
Mar 2, 2018
Messages
1
Trophies
0
Age
36
XP
53
Country
United States
Quick question, is there a way to adjust the Left stick calibration/deadzone through this? Doing it through the switch is very frustrating as , especially when you can see what the issue is through this program (when titlting to the right, 75% time the X value will only reach .80 rather than 1). Being able to lower the outer range would be a godsend.

Edit: Think I figured it out looking at the source code and opening the spi backup in an editor. Will experiment a bit.

Edit 2: Was successfully able to edit it and apply, this tool is amazing! Saved me from gambling another 70 hoping to get a left joycon stick without range issues.
 
Last edited by leghoa,
  • Like
Reactions: CTCaer

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-