Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

User:ItsCrocoSwine/sandbox: Difference between revisions

User page
ItsCrocoSwine (talk | contribs)
collapsible documentation
ItsCrocoSwine (talk | contribs)
full page test
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Lowercase title}}{{Infobox homebrew
| title = rehid
| image = rehid-Helper-banner.png
| imagealt = RehidHelper's HOME Menu banner
| for3ds = 1
| developers = hax0kartik
| version = 4.0
| releasedate = 2023-07-20
| website= https://gbatemp.net/threads/585387/ gbatemp.net/threads/585387
| github = hax0kartik/rehid
| githubtag = v4.0
| universaldb = 3ds/rehid
}}
'''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 ==
<tabber>
|-|Universal-Updater=
<span>
=== What you need ===
* A working internet connection
* [[3DS:Universal-Updater|Universal-Updater]] installed on your console
* [[3DS:luma3DS|Luma3DS]] updated to 13.0+
=== Instructions ===
# Power on your console
# Launch '''Universal-Updater'''
# Select the magnifying glass on the bottom screen, then search for '''rehid'''
# Press {{B|A}} while hovering over '''rehid''' from the list of homebrew
# Choose <code>rehidhelper.cia</code>
# Wait until the app finishes installing
# Close '''Universal-Updater'''
# Launch '''RehidHelper''' and select <code>Download Rehid</code>
# Wait for it to download and reboot, then press {{B|B}} to exit the app
# Power off your console
# While holding {{B|SELECT}}, power on your console to enter [[3DS:Luma3DS/Configuration|the Luma3DS configuration menu]]
# Turn on '''Enable loading external FIRMs and modules''' if it is not already enabled
# Press {{B|START}} to save and exit
</span>
|-|Manual=
<span>
=== What you need ===
* The latest release of {{GitHub|hax0kartik/rehid/releases/latest|'''rehid'''}} (the <code>0004013000001D02.cxi</code> and <code>rehidhelper.cia</code> files)
* [[3DS:FBI|FBI]] installed on your console
* A v13.0 or higher version of [[3DS:luma3DS|Luma3DS]]' <code>boot.firm</code> on the root of your SD card
=== Instructions ===
# Copy <code>0004013000001D02.cxi</code> to <code>sd:/luma/sysmodules/</code>
#* Create the folder <code>sysmodules</code> if it doesn't exist
# Copy <code>rehidhelper.cia</code> to the root of your SD card
# Reinsert your SD card into your console
# Launch '''FBI''' and select <code>SD</code> -> <code>rehidhelper.cia</code> -> <code>Install and delete CIA</code>
# Press {{B|A}} and wait for the CIA to install, then exit '''FBI'''
# Power off your console
# While holding {{B|SELECT}}, power on your console to enter [[3DS:Luma3DS/Configuration|the Luma3DS configuration menu]]
# Turn on '''Enable loading external FIRMs and modules''' if it is not already enabled
# Press {{B|START}} to save and exit
</span>
</tabber>
== Usage ==
=== Adding configs ===
# Open the [https://mikahjc.github.io/3dsRemapBuilder/config 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 <code>rehid.json</code> into the folder <code>sd:/rehid</code>, or <code>sd:/rehid/<title ID>/</code> if you only want to remap a specific game. You can find the title ID of your game using [https://3dsdb.com/ 3dsdb]
# Power on your console and launch '''RehidHelper'''
# Select '''Scan QR Code''' and scan the generated QR code from the website
# Press {{B|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 {{B|START}} to exit
=== Disabling Rehid ===
# Launch '''RehidHelper''' from the HOME Menu
# Select '''Toggle Rehid State'''
# Press {{B|B}} to reboot
=== Removing configs ===
* For global configurations, delete <code>sd:/rehid/rehid.json</code> or, for a configuration set to a title delete <code>sd:/rehid/<title ID>/rehid.json</code>
== Configuration ==
=== Config file ===
=== Config file ===
Rehid stores its key mappings in <code>.json</code> files located either as <code>sd:/rehid/rehid.json</code> for global mappings or in a title ID folder within <code>sd:/rehid/</code> to use with a specific title. You can manually create your own key mappings by creating a <code>rehid.json</code> file with the key mappings you want.
Rehid stores its key mappings in <code>.json</code> files located either as <code>sd:/rehid/rehid.json</code> for global mappings or in a title ID folder within <code>sd:/rehid/</code> to use with a specific title. You can manually create your own key mappings by creating a <code>rehid.json</code> file with the key mappings you want.
<div style="margin:0 auto;overflow:auto;width:auto;max-width:100%">
{| class="mw-collapsible mw-collapsed"  
{| class="mw-collapsible mw-collapsed"  
|+ '''Documentation'''
|+ '''Documentation'''
|-
|-
|  
|
: <code>"keys":</code> Maps one or more keys to press different key(s).
: <code>"keys":</code> Maps one or more keys to press different key(s).
:: Syntax: <syntaxhighlight lang="json">{
:: Syntax: <syntaxhighlight lang="json">{
Line 22: Line 119:
}</syntaxhighlight>
}</syntaxhighlight>
:: With this, pressing {{B|X+Y}} will trigger {{B|R}} instead, and pressing {{B|SELECT}} will trigger both {{B|L}} and {{B|R}} at the same time.
:: With this, pressing {{B|X+Y}} will trigger {{B|R}} instead, and pressing {{B|SELECT}} will trigger both {{B|L}} and {{B|R}} at the same time.
: <code>"turbo":</code> Maps one or more key(s) to toggle different key(s) to be repeatedly triggered with a given delay.
:: Syntax: <syntaxhighlight lang="json">{
    "turbo":[
        {"press":"ZL+ZR","get":"A","framedelay":5}
    ]
}</syntaxhighlight>
:: With the above, any time you press the {{B|ZL+ZR}} key, {{B|A}} key would be repeatedly triggered, with a HID-frame delay of 5. Unlike other options, "turbo" does not prevent the "press" key(s) from triggering.
: <code>"cpad":</code> Maps a key press to the given XY coordinates on the Circle Pad, between -190 and 190.
: <code>"cpad":</code> Maps a key press to the given XY coordinates on the Circle Pad, between -190 and 190.
:: Syntax: <syntaxhighlight lang="json">{
:: Syntax: <syntaxhighlight lang="json">{
Line 73: Line 177:
}</syntaxhighlight>
}</syntaxhighlight>
|}
|}
</div>
=== SD file layout ===
{{Tree list}}
* {{Tree icon|sd}} (root)
** {{Tree icon|d}} luma
*** {{Tree icon|d}} sysmodules
**** {{Tree icon|f}} 0004013000001D02.cxi '''''(rehid enabled)'''''
**** {{Tree icon|f}} 0004013000003302.ips
**** {{Tree icon|f}} rehid.cxi '''''(rehid disabled)'''''
** {{Tree icon|d}} rehid
*** {{Tree icon|f}} rehid.json
*** {{Tree icon|d}} <title ID>
**** {{Tree icon|f}} rehid.json
{{Tree list/end}}
== Troubleshooting ==
=== An exception occurred ===
Check the [[3DS:Error screens/Luma3DS exception screen|Luma3DS exceptions page]] for information on exceptions.
[[Category:Nintendo 3DS guides]]
[[Category:Nintendo 3DS homebrew]]