Hacking Nintendont Controller-Configurations

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,720
Trophies
2
Age
33
XP
8,703
Country
Portugal
Is there any way to reduce stick sensitivity for the WiiU Gamepad? It's way higher than on a GC controller makes it really frustrating to play.
I also don't seem to have a controller.ini file to tweak, I only have a controller folder with multiple obscure .ini files in it.
I've been looking around the internet for hours now and can't seem to find anything helpful, so any help would be greatly appreciated!
only hid controllers have ini files, wiiu gamepad and other bt controllers are hard-coded into nintendont you would need to change it manually and then recompile it.
 

purplegreendave

Active Member
Newcomer
Joined
Oct 6, 2014
Messages
39
Trophies
0
Age
33
XP
227
Country
Canada
Having issues with Dualsense controller. Most frustrating part is that it almost works.

Injected a game with UWUVCI. Used a fresh SD card (no leftover files from previously using Teconmoon). Allowed UWUVCI to pull nintendont files and create a config.
Downloaded controller_ps5.ini from /nintendont/controllerconfigs on Github. Renamed to controller.ini and placed in the root of my SD.

Launch the game with the WiiMote, choose not to use Gamepad, choose TV Only.
Once I get to the initial game screen (choose progressive mode) and confirm it has launched, I plug my controller in on the front USB.

I get functionality from the face buttons, sticks and d-pad. R1 Tracks to Z.
This is where it gets odd:
L2 works for the left trigger as far as I can tell.
R2 works for the right trigger, can register the difference between a half press and a full press (FLUDD). But it ALSO registers as a Left Trigger. So any time I Hit R2 on my Dualsense (doesn't matter if it's a full or half press), the game thinks I'm pressing the L AND R Trigger simultaneously.

I tried plugging it into HIDTest on Wii U HBC so I could fix the config file myself but got no output.
Plugged it into my PC and ran HIDTest-0.2.jar but the output was a constant stream of info in the terminal that was too fast to read.

Any ideas?
 

purplegreendave

Active Member
Newcomer
Joined
Oct 6, 2014
Messages
39
Trophies
0
Age
33
XP
227
Country
Canada
Ok I'm double posting but I've made a bit of progress so I though a second post would be ok.


Shoulder Buttons:
Pressing R2 does send an R Trigger command, and it can tell the difference between a full press and a half press. Issue is that for some reason it also sends an L trigger command which makes it useless.
I noticed that the inputs for L and R are both at "byte" 9 (counting starts at 0, so byte 9 is the 10th entry)
L=9,04 R=9,08

When compared to the DS4 config, they're at separate bytes.
L=8,F0 R=9,F0

So I figured that's why R2 does both - it sees the value increase by 04 and 08. Pressing L2 only increases it by 04, so that one works without interfering.

I deleted both lines just to see what would happen and tested a game. Now they didn’t interfere with each other anymore, but could ONLY register a half press. Obviously we want to be able to send a full press when needed.

I found this other page on github; most of it's gibberish to me, but he has a tool that runs from a Chromium browser:
https://nondebug.github.io/dualsense/dualsense-explorer.html

With that I could look at what the controller was outputting when a button was pressed. This could also be done with HIDTest, (downloadable from the HIDtoVPAD Network Client Github page). With HIDTest, it's very hard to read the output because the gyroscope and accelerometer are constantly sending tiny amounts of data and the corresponding bytes are changing so fast it gives you a headache to look at. With this online tool it was easier on my eyes to see what was happening.

I noticed from comparing the config.ini and the online tool that the half presses are registered at a different byte to the full presses:
LAnalog=5 RAnalog=6

I added the value of a full press at those addresses back in place of the lines I had deleted earlier.
L=5,F
F
R=6,FF

Checked with Mario Sunshine and I had proper half and full press of R2 as well as full press of L2.

In hindsight, I might have been able to figure that out by comparing with the DS4v2 ini, but I needed the tool's visual aid to get me there.

Face Buttons:
The Face buttons make sense if you're comparing to the Wii U Gamepad; A=Circle, B=X etc.
Gamecube has a wonky layout, but it's easy enough to swap those 4 around.

Old:
A=8,40 (Circle) B=8,20 (X) X=8,80 (Triangle) Y=8,10 (Square)


New:
A=8,20 (X) B=8,10 (Square) X=8,40 (Circle) Y=8,80 (Triangle)


Rumble
Rumble might be impossible, but I wanted to try.
PS2 has several entries in its config relating to Rumble: https://github.com/FIX94/Nintendont/blob/master/controllerconfigs/controller_ps2.ini
I was looking for what those entries meant, when I came across someone trying to do the same with the Stadia controller: https://github.com/FIX94/Nintendont/issues/1080

Going off of that, I went back to my browser with nondebug's tool open. I don't know what wizardry he has going on, but when you press a trigger the controller starts to vibrate. I checked the output panel and noticed that the first line went from:
02 FF F7 00 00
To
02 FF F7 FF FF

So I spat out the code:
Rumble=1 RumbleType=0 RumbleDataLen=05 RumbleDataOn=0x02,0xff,0xf7,0xff,0xff RumbleDataOff=0x02,0xff,0xf7,0x00,0x00 RumbleTransferLen=05 RumbleTransfers=1

So far it's not working, I also tried RumbleType=1, but I'll have another go later.

I've attached my progress. I can't upload an ini so I changed the extension to txt, just change it back to test.
 

Attachments

  • controller_ps5_new.txt
    467 bytes · Views: 20

Deleted member 466238

Well-Known Member
Member
Joined
Oct 2, 2018
Messages
169
Trophies
0
XP
1,143
I'm reposting this .ini file here as well just in case it helps someone:

Hi, I made a controller.ini file for a third party GameCube Controller adapter that I bought (Model GL-S025). I hope it helps to someone who has the exact same adapter (or a similar one with the same vendor id). The slider needs to be on PC for it to work with Nintendont.
 

Attachments

  • 0079_1846.zip
    377 bytes · Views: 9
  • 20230802_143622.jpg
    20230802_143622.jpg
    360.1 KB · Views: 10
  • a1d9349c-dc77-4c7b-9780-dd8949a2e3af.jpeg
    a1d9349c-dc77-4c7b-9780-dd8949a2e3af.jpeg
    42.5 KB · Views: 12

MikeBeast12

Member
Newcomer
Joined
Sep 4, 2018
Messages
20
Trophies
0
Age
40
XP
633
Country
United States
Does anyone test the Thrustmaster Dual Trigger gamepads yet? It might be intended for Nintendont. Might worth to test them if not. :)
 

Attachments

  • THRUSTMASTER-DUAL-TRIGGER-3IN1-1440-0276830-752870363.jpg
    THRUSTMASTER-DUAL-TRIGGER-3IN1-1440-0276830-752870363.jpg
    103.9 KB · Views: 12

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://stockanalysis.com/stocks/ntdoy/market-cap/ I think they'll be alright