3DS:Rehid: Difference between revisions
More actions
m capitalize Rehid when applicable |
fixed touchtokeys explanation |
||
| Line 87: | Line 87: | ||
<p><code>"cpad":</code>, which maps a key press to a circle pad x and y coordinate from -190 to 190;</p> | <p><code>"cpad":</code>, which maps a key press to a circle pad x and y coordinate from -190 to 190;</p> | ||
<syntaxhighlight lang="json">{"cpad":[{"press":"CUP","get":[0,190]},{"press":"CDOWN","get":[0,-190]},{"press":"CLEFT","get":[-190,0]},{"press":"CRIGHT","get":[190,0]}]}</syntaxhighlight> | <syntaxhighlight lang="json">{"cpad":[{"press":"CUP","get":[0,190]},{"press":"CDOWN","get":[0,-190]},{"press":"CLEFT","get":[-190,0]},{"press":"CRIGHT","get":[190,0]}]}</syntaxhighlight> | ||
<p><code>"touch":</code>, which maps a key press to a | <p><code>"touch":</code>, which maps a key press to a given x,y coordinate on the touchscreen from 0,0 top left to 320,240 bottom right;</p> | ||
<syntaxhighlight lang="json">{"touch":[{"press":"LEFT+UP","get":[0,0]},{"press":"RIGHT+DOWN","get":[320,240]}]}</syntaxhighlight> | <syntaxhighlight lang="json">{"touch":[{"press":"LEFT+UP","get":[0,0]},{"press":"RIGHT+DOWN","get":[320,240]}]}</syntaxhighlight> | ||
<p><code>"touchtokeys":</code> which maps | <p><code>"touchtokeys":</code> 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;</p> | ||
<syntaxhighlight lang="json">{"touchtokeys":[{"press":[ | <syntaxhighlight lang="json">{"touchtokeys":[{"press":[10,20,50,100],"get":"A"}]}</syntaxhighlight> | ||
<p>For this example, | <p>For this example, it creates a box starting at x=10 y=20, with a height of 50 and a width of 100.</p> | ||
<p>Other options include:<br> | <p>Other options include:<br> | ||
<code>"cpadtodpad":true</code> maps the C-pad with D-pad key presses<br> | <code>"cpadtodpad":true</code> maps the C-pad with D-pad key presses<br> | ||
| Line 98: | Line 98: | ||
<code>"homebutton":</code> maps the HOME button to a key press</p> | <code>"homebutton":</code> maps the HOME button to a key press</p> | ||
<p>These Options can be strung together into a single line, for example:</p> | <p>These Options can be strung together into a single line, for example:</p> | ||
<syntaxhighlight lang="json">{"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":[ | <syntaxhighlight lang="json">{"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"}</syntaxhighlight> | ||
</li> | </li> | ||
<li>Copy <code>rehid.json</code> to a <code>rehid</code> folder on the root of your SD card | <li>Copy <code>rehid.json</code> to a <code>rehid</code> folder on the root of your SD card | ||
Revision as of 21:21, 27 March 2024
![]() | |
| Developer(s) | hax0kartik |
|---|---|
| Console | Nintendo 3DS |
| Version | 4.0 (July 20, 2023) |
| Links | |
| GitHub | hax0kartik/rehid |
| Download | |
Rehid is a rewrite of the 3DS' hid module, to allow for the remapping of buttons or the touch screen.
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
Remapping buttons
- Go to 3DS Remap Builder to generate your remappings
- 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
Create a
rehid.jsonfile with the remappings you want. possible options include:"keys":which maps a key press to another key press.
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){"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.
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":truemaps the C-pad with D-pad key presses
"dpadtocpad":truemaps the D-pad with C-pad key presses
"overidecpadpro":truemakes it so games don't recognize the circle pad pro
"homebutton":maps the HOME button to a key pressThese 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"}
- Copy
rehid.jsonto arehidfolder on the root of your SD card- If you want to the remapping to be used for a specific title, copy
rehid.jsontorihid/(title ID)/instead. You can find the title ID of your game using 3dsdb
- If you want to the remapping to be used for a specific title, copy
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.
