Homebrew [WIP] rehid:- Button remapping for 3ds

zumba

New Member
Newbie
Joined
Mar 26, 2017
Messages
1
Trophies
0
Age
39
XP
127
Country
Canada
Has anyone tested rehid per system titles?
I want to use a separate config for Streetpass Mii Plaza but seems it doesn't recognize it. Global rehid.json works. TitleID 0004000E00022800 also seems correct.
 
Joined
Sep 7, 2024
Messages
1
Trophies
0
Age
15
XP
12
Country
Brazil
Hi! I know this thread is old but i hope someone could help, so, i tried EVERYTHING i saw in here and in other places, but i dont think people considers "what if my camera didnt work?", so yeah, i installed rehidhelper, created an rehid file with the right title and remappings on the root of my 3ds, and nothing happened. Its on the most versions of both luma and rehid and it just doesnt work, also, the rosalina process list hasnt rehid either. Im trying to shiny hunt on a gba game and the reset buttons are awlful, its a custom game since it doesnt have on 3ds so idk if the titleid works. Pls if someone who still reading know how to help it would be greatful. Thanks!
 

Chupi

Active Member
Newcomer
Joined
Jun 9, 2015
Messages
27
Trophies
0
XP
606
Country
United States
Hi! I know this thread is old but i hope someone could help, so, i tried EVERYTHING i saw in here and in other places, but i dont think people considers "what if my camera didnt work?", so yeah, i installed rehidhelper, created an rehid file with the right title and remappings on the root of my 3ds, and nothing happened. Its on the most versions of both luma and rehid and it just doesnt work, also, the rosalina process list hasnt rehid either. Im trying to shiny hunt on a gba game and the reset buttons are awlful, its a custom game since it doesnt have on 3ds so idk if the titleid works. Pls if someone who still reading know how to help it would be greatful. Thanks!
Rehid shouldn't affect the camera working or not. Only thing I can think of that could affect it is if you remap its controls so it's unusable, or remap L/R in the home menu which would make it impossible to launch the quick camera.

Did you hold select at boot and enable game patching and external modules?

Rehid won't show up in the Rosalina process list. It replaces the official hid module, so it will show up as "hid" just like the one it replaces.

Rehid can't remap buttons for GBA or DS/DSiWare games. Those boot in a special hardware mode that turns the 3DS into a GBA or DS, and the normal OS isn't running at that point. There's no way to remap controls for "injected" GBA games made with NSUI. You can use open_agb_firm though, which performs identically to injects because it uses the same hardware mode, and can remap controls if you edit its ini file. You can also use mGBA and edit controls in its menu, though performance isn't as nice as injects or open_agb_firm.

I hear you, A+B+Start+Select is annoying to press on any 3DS model. If I'm not mistaken, open_agb_firm can map multiple GBA buttons to be pressed by the same 3DS button. For instance I think if you do "A=A,Y" "B=B,Y" "START=START,X,Y" "SELECT=SELECT,Y", those buttons would all work as normal (and make X open the menu), but simply pressing Y would press all of them at once and do a soft reset.
 

Jag6345

New Member
Newbie
Joined
Sep 11, 2024
Messages
1
Trophies
0
Age
20
XP
3
Country
Australia
Has anybody been able to get this working with nds games? Trying to remap ZL to A and it works in home menu and 3ds games, but not my cartridge copy of pokemon platinum
 

Chupi

Active Member
Newcomer
Joined
Jun 9, 2015
Messages
27
Trophies
0
XP
606
Country
United States
Has anybody been able to get this working with nds games? Trying to remap ZL to A and it works in home menu and 3ds games, but not my cartridge copy of pokemon platinum
No, and it will NEVER work with NDS games since the 3DS reboots into a different OS to run those. The only hope of remapping buttons in DS games would be some modified TwlBg maybe.

The closest you're getting unless somebody makes that is changing "button mode" to "L=A" in Pokemon Platinum's settings screen.

EDIT: There is a solution though it takes a few more steps to make work, and it will only work with a ROM and not a physical cartridge.

First, you need TWPatch, which makes specific modifications to TwlBg, usually to change the image scaling to be less blurry. You don't have to make any changes in it, you just need the "rtcom" patch which is on the advanced options page and comes pre-checked by default. Rtcom forwards extra data for stuff the DS doesn't have like analog inputs, ZL/ZR and gyro so that DS games that know how to read it can. Note that TWPatch produces a TwlBg file in /luma/sysmodules on your SD card. It does not modify your actual TWL_FIRM. To remove its modifications, simply delete that file.

You also need to enable loading external sysmodules and FIRMs in the Luma options that you get when you hold select when booting the 3DS. This makes Luma load the modified TwlBg that TWPatch made.

Next you need nds-bootstrap in some form. I generally recommend TwilightMenu++, which is most easily installed through Universal-Updater.

You need the ROM and save for your Pokemon Platinum, which you can dump using Godmode9. Start it up with the cartridge in. Browse into the [C:] GAMECART drive and copy the nds file with Y. Paste it into /roms/nds on the SD card. Go back and copy the sav file with Y and paste that in /roms/nds/saves. Rename them if you want, but they need to be named the same or the ROM won't connect to the save.

Then you need to use 3DS-NDS Key Remapper. When you first load the page, the arrangement of the check boxes makes it do what it already does by default: All the buttons map to themselves, the circle pad (CPad) maps to the D-Pad directions, and the New 3DS specific buttons do nothing. In the "ZL (New3DS)" row, check the first box, in the "A" column to make ZL be A. Make any other changes that you like. Leave the "optional settings" alone for now and mess with them later if you have issues. Click on the "Copy to Clipboard" button next to the box with the long Action Replay cheat in it.

You also need a base usrcheat.dat file, and R4CCE to edit it. If you don't already have a usrcheat.dat, use DeadSkullzJr's (in the download link Mega folder, go into Cheat Databases and then download the 50 MB usrcheat.dat. Extract R4CCE (it won't run if you click it directly from inside its zip) and run it. File->Open and browse to your usrcheat.dat, click open and wait for it to load. Scroll/use find to get to Pokemon Platinum. Note that you can drag the window bigger and drag the divider just to the right of the game list to make that wider. There are a bunch of entries for various romhacks of Platinum in there too, and different region ones, so be sure to get the right one. Click on the game to highlight it, and expand it in the list on the left using the + button next to the game name. Now either click on add folder or put your code in the miscellaneous folder. Click on the folder you want to use, click the + to expand, and then click the add code button up top. Put a name and comment for your new code, and paste the long thing you copied from 3DS-NDS Key Remapper into the big box. Save your file. Copy the usrcheat.dat you just saved into /_nds/TWiLightMenu/extras/ on your SD card.

Now run TwilightMenu++, select the game icon, press Y for game options, X for cheats. If you selected the right game and added the code correctly, you will see your new cheat available. Turn it on and then start the game.

If you need to change the optional settings in 3DS-NDS Key Remapper later, you have to copy the updated code from there, paste it in R4CCE replacing the old one, save your usrcheat.dat, put that on your console, and make sure the cheat is activated.
 
Last edited by Chupi,
  • Like
Reactions: VandGD

PoorPocketsMcNewHold

Well-Known Member
Newcomer
Joined
Oct 1, 2022
Messages
60
Trophies
0
Age
24
Location
France
XP
325
Country
France
That config stopped the dpad from moving the camera at the same time, but the directions are still askew for some reason.
For clarification, the movement directions on the dpad are consistently rotated slightly anti-clockwise, like this:View attachment 273708

Edit: I managed to get a recording of the game, this is how the dpad movement acts.

A bit of a necro, but wanted to point out something while browsing for some custom user made config in the thread.
Apparently, Zelda : A link between worlds has a natural skewing 5 degrees offset in game on vertical movement. So, it may be possible it is actually affecting Tri-Force heroes, probably.

8658screenshot1.png
 
  • Wow
Reactions: ber71

N0RDICST0RM

New Member
Newbie
Joined
Oct 2, 2024
Messages
2
Trophies
0
Age
18
XP
16
Country
United States
Hello. I just purchased a circle pad pro, since I had heard that rehid could remap the buttons from it, but I haven't had any luck. It can remap buttons on the 3ds itself just fine, and the circle pad pro works with supported games, but I can't remap any buttons from the circle pad pro to buttons on the 3ds.
 

ipkpjersi

Member
Newcomer
Joined
Dec 27, 2016
Messages
14
Trophies
0
XP
68
Country
United States
Hi,

I have a question. Is it possible to map circle pad input to dpad AND dpad input to circle pad at the same time, or can you only map in a single direction?

Okay sounds like that's not possible, so instead I wanted to try just simple one-way binding.

I want to test it out so that my dpad will behave like the cpad, so I can move my characters in Smash Bros 3DS with the dpad instead of the circle pad. I tried every what seems like every combination of configs using 3dsRemapBuilder, including cpad to dpad and dpad to cpad with and without individual c direction to d direction, but I can't seem to get it working - either the cpad behaves like the dpad (and my character just performs a taunt in Smash Bros 3DS instead of moving), or the dpad doesn't do anything at all, etc.

How do I get my d pad to act like the c pad so I can move my character in Smash Bros 3DS with the d pad?

I've always wanted to try 3DS games with the dpad just to see what it's like, I hope it's possible.

Thank you.
 
Last edited by ipkpjersi,

Chupi

Active Member
Newcomer
Joined
Jun 9, 2015
Messages
27
Trophies
0
XP
606
Country
United States
Hi,

I have a question. Is it possible to map circle pad input to dpad AND dpad input to circle pad at the same time, or can you only map in a single direction?

Okay sounds like that's not possible, so instead I wanted to try just simple one-way binding.

I want to test it out so that my dpad will behave like the cpad, so I can move my characters in Smash Bros 3DS with the dpad instead of the circle pad. I tried every what seems like every combination of configs using 3dsRemapBuilder, including cpad to dpad and dpad to cpad with and without individual c direction to d direction, but I can't seem to get it working - either the cpad behaves like the dpad (and my character just performs a taunt in Smash Bros 3DS instead of moving), or the dpad doesn't do anything at all, etc.

How do I get my d pad to act like the c pad so I can move my character in Smash Bros 3DS with the d pad?

I've always wanted to try 3DS games with the dpad just to see what it's like, I hope it's possible.

Thank you.
Try:
{"dpadtocpad":true}
This uses rehid's builtin D-pad to circle pad remap.

Put that in rehid.json. If you want it to apply to one or more games, put copies of the file in /rehid/titleid/ with the full title ID of each game. If you want it to apply to all games that don't have their own folders and config files (including the home menu and applets) put it in /rehid/.
 

ipkpjersi

Member
Newcomer
Joined
Dec 27, 2016
Messages
14
Trophies
0
XP
68
Country
United States
Try:
{"dpadtocpad":true}
This uses rehid's builtin D-pad to circle pad remap.

Put that in rehid.json. If you want it to apply to one or more games, put copies of the file in /rehid/titleid/ with the full title ID of each game. If you want it to apply to all games that don't have their own folders and config files (including the home menu and applets) put it in /rehid/.
I tried that before and again just now, but dpad only works for moving my character in Smash Bros 3DS when I'm in the air - like I can jump and then move with the dpad. If I'm standing still, it still does a taunt with the dpad. If I'm already moving, I can hold the dpad direction down to keep moving, but if I try to change direction with dpad, it just taunts again. I can even tap jump with dpad up and then move when I am in the air, but if I am standing still, nope still just taunts.

Does the remapping not work properly for certain games, or is there some other setting I need, or something else?
 

Chupi

Active Member
Newcomer
Joined
Jun 9, 2015
Messages
27
Trophies
0
XP
606
Country
United States
I tried that before and again just now, but dpad only works for moving my character in Smash Bros 3DS when I'm in the air - like I can jump and then move with the dpad. If I'm standing still, it still does a taunt with the dpad. If I'm already moving, I can hold the dpad direction down to keep moving, but if I try to change direction with dpad, it just taunts again. I can even tap jump with dpad up and then move when I am in the air, but if I am standing still, nope still just taunts.

Does the remapping not work properly for certain games, or is there some other setting I need, or something else?
After reading the source code to see what dpadtocpad actually does, I see it may be necessary to add key remaps for it too. Here's the whole thing:
{"keys":[ {"press":"UP","get":"CUP"}, {"press":"DOWN","get":"CDOWN"}, {"press":"LEFT","get":"CLEFT"}, {"press":"RIGHT","get":"CRIGHT"} ], "dpadtocpad":true}
Dpadtocpad just makes it push the circle pad to 100% in each direction that's currently pushed on the D-pad. Normally when you push the circle pad past a certain point, the system also sends 'keypresses' to the game that it's pressed in that direction. Game actions that use an analog value typically use the precise circle pad location, which is what dpadtocpad gives you. But game actions that just want to know if it's pressed in a direction often use the keypress actions, which it doesn't set. The stuff I added to that adds those mappings.
 

ipkpjersi

Member
Newcomer
Joined
Dec 27, 2016
Messages
14
Trophies
0
XP
68
Country
United States
After reading the source code to see what dpadtocpad actually does, I see it may be necessary to add key remaps for it too. Here's the whole thing:
{"keys":[ {"press":"UP","get":"CUP"}, {"press":"DOWN","get":"CDOWN"}, {"press":"LEFT","get":"CLEFT"}, {"press":"RIGHT","get":"CRIGHT"} ], "dpadtocpad":true}
Dpadtocpad just makes it push the circle pad to 100% in each direction that's currently pushed on the D-pad. Normally when you push the circle pad past a certain point, the system also sends 'keypresses' to the game that it's pressed in that direction. Game actions that use an analog value typically use the precise circle pad location, which is what dpadtocpad gives you. But game actions that just want to know if it's pressed in a direction often use the keypress actions, which it doesn't set. The stuff I added to that adds those mappings.
I believe I tried that combination before too, with that config now the dpad doesn't do anything at all in any direction, which is the problem I had before. Earlier I also tried that with like press CUP get UP, etc, and it still didn't provide my desired result.

I've tried like every combination I can think of, which makes me think either Smash Bros 3DS has some sort of special case where this functionality simply won't work no matter what, or maybe I'm missing something, or something else I have no idea.

Has anyone gotten the dpad to work as the circle pad in Smash Bros 3DS to move their character?
 

Chupi

Active Member
Newcomer
Joined
Jun 9, 2015
Messages
27
Trophies
0
XP
606
Country
United States
I believe I tried that combination before too, with that config now the dpad doesn't do anything at all in any direction, which is the problem I had before. Earlier I also tried that with like press CUP get UP, etc, and it still didn't provide my desired result.

I've tried like every combination I can think of, which makes me think either Smash Bros 3DS has some sort of special case where this functionality simply won't work no matter what, or maybe I'm missing something, or something else I have no idea.

Has anyone gotten the dpad to work as the circle pad in Smash Bros 3DS to move their character?
Have you tried it elsewhere? And is your 3DS a "New" one? I recall Smash being an "extended memory" game, meaning the system reboots when you start or close it on old 3DS. I'm not sure whether this interferes with rehid functioning.

"press CUP get UP" -- this maps it the other way, makes it so the circle pad makes D-pad inputs.
 

ipkpjersi

Member
Newcomer
Joined
Dec 27, 2016
Messages
14
Trophies
0
XP
68
Country
United States
Have you tried it elsewhere? And is your 3DS a "New" one? I recall Smash being an "extended memory" game, meaning the system reboots when you start or close it on old 3DS. I'm not sure whether this interferes with rehid functioning.

"press CUP get UP" -- this maps it the other way, makes it so the circle pad makes D-pad inputs.
It's an OG 3DS XL, but with dpadtocpad with press UP get CUP the dpad doesn't work at all in the home menu either.

With just dpadtocpad true without any other options, I was able to control the cart in Mario Kart 7 with dpad, so I guess it's just Smash Bros 3DS that has problems with this, and the d pad can't be used as the control pad in Smash Bros 3DS?

It's a shame there's no workaround or anything for this, if you only use aerial attacks and always jump first you can kinda move around with the dpad in Smash Bros 3DS, and it's kinda cool.

edit: sounds like it's a known issue on GitHub, issue #33, it's a design limitation with rehid.
 
Last edited by ipkpjersi,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    realtimesave @ realtimesave: hi