Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
< User:ItsCrocoSwine
Revision as of 03:52, 30 March 2024 by ItsCrocoSwine (talk | contribs) (pretty-print?)

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"
    }