(2 intermediate revisions by the same user not shown) Line 26:
Line 26:
<tabber>
<tabber>
|-|Universal Updater=
|-|Universal- Updater=
<span>
<span>
=== What you need ===
=== What you need ===
* A working internet connection
* A working internet connection
* [[3DS:Universal-Updater|Universal Updater]] installed on your console
* [[3DS:Universal-Updater|Universal- Updater]] installed on your console
* [[3DS:luma3DS|Luma3DS]] updated to 13.0+
* [[3DS:luma3DS|Luma3DS]] updated to 13.0+
=== Instructions ===
=== Instructions ===
# Power on your console
# Power on your console
# Launch '''Universal Updater'''
# Launch '''Universal- Updater'''
# Select the magnifying glass on the bottom screen, then search for '''rehid'''
# Select the magnifying glass on the bottom screen, then search for '''rehid'''
# Press {{B|A}} while hovering over '''rehid''' from the list of homebrew
# Press {{B|A}} while hovering over '''rehid''' from the list of homebrew
# Choose <code>rehidhelper.cia</code>
# Choose <code>rehidhelper.cia</code>
# Wait until the app finishes installing
# Wait until the app finishes installing
# Close '''Universal Updater'''
# Close '''Universal- Updater'''
# Launch '''RehidHelper''' and select <code>Download Rehid</code>
# Launch '''RehidHelper''' and select <code>Download Rehid</code>
# Wait for it to download and reboot, then press {{B|B}} to exit the app
# Wait for it to download and reboot, then press {{B|B}} to exit the app
Line 124:
Line 124:
** {{Tree icon|d}} luma
** {{Tree icon|d}} luma
*** {{Tree icon|d}} sysmodules
*** {{Tree icon|d}} sysmodules
**** {{Tree icon|f}} 0004013000001D02.cxi
**** {{Tree icon|f}} 0004013000001D02.cxi '''''(rehid enabled)'''''
**** {{Tree icon|f}} 0004013000003302.ips
**** {{Tree icon|f}} 0004013000003302.ips
**** {{Tree icon|f}} rehid.cxi '''''(rehid disabled)'''''
** {{Tree icon|d}} rehid
** {{Tree icon|d}} rehid
*** {{Tree icon|f}} rehid.json
*** {{Tree icon|f}} rehid.json
Line 136:
Line 137:
=== An exception occurred ===
=== An exception occurred ===
Check the [[3DS:EXCEPTION|Luma3DS exceptions page]] for information on exceptions.
Check the [[3DS:Error screens/Luma3DS exception screen |Luma3DS exceptions page]] for information on exceptions.
[[Category:Nintendo 3DS guides]]
[[Category:Nintendo 3DS guides]]
[[Category:Nintendo 3DS homebrew]]
[[Category:Nintendo 3DS homebrew]]
rehid is a rewrite of the 3DS' hid module that allows you to flexibly remap buttons or the touch screen in 3DS titles.
Features
Remapping Buttons - Rehid allows you to remap buttons or combinations of buttons to different buttons or combos.
Remapping Directional Input - Rehid also lets you remap the circle pad, remap the C stick, and/or map the circle pad and D-pad to each other.
Remapping Touch - You can assign button inputs to points on the touchscreen, or map specific parts of the touchscreen to buttons.
Per-Game Remaps - Rehid allows you to choose between applying a remap to only one specific title or applying it to all titles at once.
RehidHelper - Rehid features an app to help you download its sysmodules, scan QR codes to install remaps, or disable rehid entirely.
Installation
What you need
Instructions
Power on your console
Launch Universal-Updater
Select 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 finishes installing
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 the Luma3DS configuration menu
Turn on Enable loading external FIRMs and modules if it is not already enabled
Press START to save and exit
What you need
The latest release of rehid (the 0004013000001D02.cxi
and rehidhelper.cia
files)
FBI installed on your console
A v13.0 or higher version of Luma3DS ' boot.firm
on the root of your SD card
Instructions
Copy 0004013000001D02.cxi
to sd:/luma/sysmodules/
Create the folder sysmodules
if it doesn't exist
Copy rehidhelper.cia
to 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 the Luma3DS configuration menu
Turn on Enable loading external FIRMs and modules if it is not already enabled
Press START to save and exit
Usage
Adding configs
Open the 3DS Remap Builder and 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.json
into the folder sd:/rehid
, or sd:/rehid/<title ID>/
if you only want to remap a specific game. You can find the title ID of your game using 3dsdb
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 to apply it to the entire console
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 sd:/rehid/rehid.json
or, for a configuration set to a title delete sd:/rehid/<title ID>/rehid.json
Configuration
Config file
Rehid stores its key mappings in .json
files located either as sd:/rehid/rehid.json
for global mappings or in a title ID folder within sd:/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":
Maps one or more keys to press different key(s).
Syntax: { "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.
The keys you can use for this 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 use this to do custom key combos, such as the following:
{ "keys" :[{ "press" : "X+Y" , "get" : "R" },{ "press" : "SELECT" , "get" : "L+R" }]}
With this, pressing X+Y will trigger R instead, and pressing SELECT will trigger both L and R at the same time.
"cpad":
Maps a key press to the given XY coordinates on the Circle Pad, between -190 and 190.
Syntax: { "cpad" :[{ "press" : "CUP" , "get" :[ 0 , 190 ]},{ "press" : "CDOWN" , "get" :[ 0 , -190 ]},{ "press" : "CLEFT" , "get" :[ -190 , 0 ]},{ "press" : "CRIGHT" , "get" :[ 190 , 0 ]}]}
"touch":
Maps a key press to the given XY coordinates on the touchscreen, from 0,0 (top-left corner) to 320,240 (bottom-right corner).
Syntax: { "touch" :[{ "press" : "LEFT+UP" , "get" :[ 0 , 0 ]},{ "press" : "RIGHT+DOWN" , "get" :[ 320 , 240 ]}]}
"touchtokeys":
Maps the given area on the touch screen at the given XY coordinates to output a key press when tapped.
Syntax: { "touchtokeys" :[{ "press" :[ 10 , 20 , 50 , 100 ], "get" : "A" }]}
The above example creates a box starting at x=10 y=20 that has a height of 50 and a width of 100.
Other options include:
"cpadtodpad":true
Automatically redirects all C-Pad inputs to the D-Pad.
"dpadtocpad":true
Automatically redirects all D-Pad inputs to the C-Pad.
"overidecpadpro":true
Stops games from recognizing the Circle Pad Pro.
"homebutton":
Remaps the HOME button to one or more key press(es).
All of the above options can be used at once in one remapping. 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)
luma
sysmodules
0004013000001D02.cxi (rehid enabled)
0004013000003302.ips
rehid.cxi (rehid disabled)
rehid
rehid.json
<title ID>
rehid.json
Troubleshooting
An exception occurred
Check the Luma3DS exceptions page for information on exceptions.