3DS:Rehid
More actions
![]() | |
| Developer(s) | hax0kartik |
|---|---|
| Console | Nintendo 3DS |
| Version | 4.0 (July 20, 2023) |
| Links | |
| Website | gbatemp.net/threads/585387 |
| GitHub | hax0kartik/rehid |
| Download | |
Rehid is a rewrite of the 3DS' hid module, that allow for the remapping of buttons or the touch screen in 3DS titles.
Features
- Remapping Buttons - Rehid allows for the remapping of buttons or button combos to different buttons or combos.
- Remapping Directional Input - Rehid also lets you remap the circle pad or the C stick, and can map the circle pad or D-pad to each other.
- Remapping Touch - You can assign button inputs to points on the touchscreen, or map certain areas on the touchscreen to button.
- Per Game Remaps - Rehid allows you to save configurations to a specific title, or set a remap to be used globally.
- RehidHelper - Rehid features an app to help you download Rehid's sysmodules, scan QR codes to install configurations, or disable Rehid.
Installation
what you need
- A working internet connection
- Universal Updater installed on your console
- Luma3DS updated to 13.0+
instructions
- Power on the console
- Launch Universal-Updater
- Tap the magnifying glass on the bottom screen, then search for rehid
- Press A while hovering over rehid from the list of homebrew
- Choose
rehidhelper.cia - Wait until the app installs
- Close Universal-Updater
- Launch RehidHelper and select
Download Rehid - Wait for it to download and reboot, then press B to exit the app
- Power off your Console
- While holding SELECT, power on your console to enter Luma3DS configuration
- Ensure that "Enable loading external FIRMs and modules" is selected
- Press START to save and exit
what you need
- the latest release of Rehid (the
0004013000001D02.cxiandrehidhelper.ciafiles) - FBI installed on your console
- Luma3DS updated to 13.0+
Instructions
- Copy
0004013000001D02.cxitosd:/luma/sysmodules/- Create the folder
sysmodulesif it doesn't exist
- Create the folder
- Copy
rehidhelper.ciato the root of your SD card - Reinsert your SD card into your console
- Launch FBI and select
SD->rehidhelper.cia->Install and delete CIA - Press A and wait for the CIA to install, then exit FBI
- Power off your Console
- While holding SELECT, power on your console to enter Luma3DS configuration
- Ensure that "Enable loading external FIRMs and modules" is selected
- Press START to save and exit
Usage
Adding configs
- Go to 3DS Remap Builder to configure your key mappings
- When finished click on Show as QR code
- If you are unable to scan QR codes on your console, instead click Build this remap and place the downloaded
rehid.jsoninto arehidfolder on the root of your SD card, orrehid/(title ID)/to remap a specific game. You can find the title ID of your game using 3dsdb
- If you are unable to scan QR codes on your console, instead click Build this remap and place the downloaded
- Power on your console and launch RehidHelper
- Select Scan QR Code and scan the generated QR code from the website
- Press A to proceed
- Select a title from the list for the remap to be applied to, or select global for all titles
- Press start to exit
Disabling Rehid
- launch RehidHelper from the HOME menu
- Select Toggle Rehid State
- Press B to reboot.
Removing configs
- For global configurations delete
/rehid/rehid.jsonor, for a configuration set to a title delete/rehid/(Title ID)/rehid.json
Configuration
Config file
Rehid stores its key mappings in .json files located at /rehid/rehid.json, or in a title ID folder within /rehid/ to use with a specific title. You can manually create your own key mappings by creating a rehid.json file with the key mappings you want. Possible options include:
"keys": which maps a key press to another key press.
{"keys":[{"press":"ZR","get":"R"},{"press":"ZL","get":"L"}]}
With the above, any time you press the ZR key, R key would be triggered, and any time you press the ZL key, L key would be triggered. Possible Keys are: A, B, X, Y, SELECT, START, ZL, ZR, L, R, LEFT, RIGHT, UP, DOWN, CLEFT(CPAD), CRIGHT(CPAD), CUP(CPAD), CDOWN(C-PAD), CSLEFT(C-STICK), CSRIGHT(C-STICK), CSUP(C-STICK), CSDOWN(C-STICK)
You can also do custom key combos;
{"keys":[{"press":"X+Y","get":"R"},{"press":"SELECT","get":"L+R"}]}
With this any time you press X+Y, R key would be triggered, and any time you press the SELECT button, both L and R would be triggered.
"cpad":, which maps a key press to a circle pad x and y coordinate from -190 to 190;
{"cpad":[{"press":"CUP","get":[0,190]},{"press":"CDOWN","get":[0,-190]},{"press":"CLEFT","get":[-190,0]},{"press":"CRIGHT","get":[190,0]}]}
"touch":, which maps a key press to a given x,y coordinate on the touchscreen from 0,0 top left to 320,240 bottom right;
{"touch":[{"press":"LEFT+UP","get":[0,0]},{"press":"RIGHT+DOWN","get":[320,240]}]}
"touchtokeys": which maps a box starting at a given x,y coordinate, with a given height and width, that when tapped will output a key press;
{"touchtokeys":[{"press":[10,20,50,100],"get":"A"}]}
For this example, it creates a box starting at x=10 y=20, with a height of 50 and a width of 100.
Other options include:
"cpadtodpad":true maps the C-pad with D-pad key presses
"dpadtocpad":true maps the D-pad with C-pad key presses
"overidecpadpro":true makes it so games don't recognize the circle pad pro
"homebutton": maps the HOME button to a key press
These Options can be strung together into a single line, for example:
{"keys":[{"press":"ZR","get":"R"},{"press":"ZL","get":"L"}],"cpad":[{"press":"CUP","get":[0,190]},{"press":"CDOWN","get":[0,-190]}],"touch":[{"press":"LEFT+UP","get":[0,0]},{"press":"RIGHT+DOWN","get":[320,240]}],"touchtokeys":[{"press":[10,20,50,100],"get":"A"}],"cpadtodpad":true,"dpadtocpad":true,"overridecpadpro":true,"homebutton":"ZR+ZL"}
SD file layout
- (root)
- rehid
- rehid.json
- (title ID)
- rehid.json
- rehid
Troubleshooting
An exception occurred
If your console crashes while booting with "an exception occurred" and the "current proccess:" is hid, you may have an old version of Rehid thats causing issues. Look for and delete /luma/titles/0004013000001D02 and /luma/titles/0004013000003302. If these don't exist, you may have a more serious hardware issue, join the Nintendo Homebrew Discord and ask, in English, for help.
