(collapsible documentation) |
(pretty-print?) |
||
Line 1: | Line 1: | ||
=== 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. Possible options include: | ||
* <code>"keys":</code> Maps one or more keys to press different key(s). | |||
** Syntax: <syntaxhighlight lang="json">{ | |||
"keys":[ | "keys":[ | ||
{"press":"ZR","get":"R"}, | {"press":"ZR","get":"R"}, | ||
Line 12: | Line 8: | ||
] | ] | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
*: With the above, any time you press the {{B|ZR}} key, {{B|R}} key would be triggered, and any time you press the {{B|ZL}} key, {{B|L}} key would be triggered. | |||
*:: The keys you can use for this are: <code>A</code>, <code>B</code>, <code>X</code>, <code>Y</code>, <code>SELECT</code>, <code>START</code>, <code>ZL</code>, <code>ZR</code>, <code>L</code>, <code>R</code>, <code>LEFT</code>, <code>RIGHT</code>, <code>UP</code>, <code>DOWN</code>, <code>CLEFT</code>(CPAD), <code>CRIGHT</code>(CPAD), <code>CUP</code>(CPAD), <code>CDOWN</code>(C-PAD), <code>CSLEFT</code>(C-STICK), <code>CSRIGHT</code>(C-STICK), <code>CSUP</code>(C-STICK), <code>CSDOWN</code>(C-STICK) | |||
*: You can use this to do custom key combos, such as the following: | |||
::<syntaxhighlight lang="json">{ | *::<syntaxhighlight lang="json">{ | ||
"keys":[ | "keys":[ | ||
{"press":"X+Y","get":"R"}, | {"press":"X+Y","get":"R"}, | ||
Line 21: | Line 17: | ||
] | ] | ||
}</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. | |||
* <code>"cpad":</code> Maps a key press to the given XY coordinates on the Circle Pad, between -190 and 190. | |||
** Syntax: <syntaxhighlight lang="json">{ | |||
"cpad":[ | "cpad":[ | ||
{"press":"CUP","get":[0,190]}, | {"press":"CUP","get":[0,190]}, | ||
Line 31: | Line 27: | ||
] | ] | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
* <code>"touch":</code> 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: <syntaxhighlight lang="json">{ | |||
"touch":[ | "touch":[ | ||
{"press":"LEFT+UP","get":[0,0]}, | {"press":"LEFT+UP","get":[0,0]}, | ||
Line 38: | Line 34: | ||
] | ] | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
* <code>"touchtokeys":</code> Maps the given area on the touch screen at the given XY coordinates to output a key press when tapped. | |||
** Syntax: <syntaxhighlight lang="json">{ | |||
"touchtokeys":[ | "touchtokeys":[ | ||
{"press":[10,20,50,100],"get":"A"} | {"press":[10,20,50,100],"get":"A"} | ||
] | ] | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
*: 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: | |||
** <code>"cpadtodpad":true</code> Automatically redirects all C-Pad inputs to the D-Pad.<br> | |||
** <code>"dpadtocpad":true</code> Automatically redirects all D-Pad inputs to the C-Pad.<br> | |||
** <code>"overidecpadpro":true</code> Stops games from recognizing the Circle Pad Pro.<br> | |||
** <code>"homebutton":</code> 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: | |||
*: <syntaxhighlight lang="json">{ | |||
"keys":[ | "keys":[ | ||
{"press":"ZR","get":"R"}, | {"press":"ZR","get":"R"}, | ||
Line 72: | Line 68: | ||
"homebutton":"ZR+ZL" | "homebutton":"ZR+ZL" | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
Revision as of 03:52, 30 March 2024
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)
- The keys you can use for this are:
- 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.
- Syntax:
"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]} ] }
- Syntax:
"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]} ] }
- Syntax:
"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.
- Syntax:
- 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" }