jakibaki / hid-mitm

Sysmodule mitming the Horizon hid (human interface device) services to allow using unsupported gamepads on the nintendo switch.
GNU General Public License v2.0
103 stars 23 forks source link

hid-mitm

Sysmodule mitming the Horizon hid (human interface device) services.

Disclaimer:

This sysmodule is in beta! Problems are to be expected. If you encounter any that aren't listed in the known issues section please report it here if nobody else did already.

Features

Setup

While hid-mitm will work perfectly fine on stock atmosphere and possibly reinx the recommended setup is to download the latest Kosmos since it comes preconfigured with the awesome Kosmos Toolbox which allows you to easily configure hid-mitm.

On Kosmos it's just a matter of opening the Kosmos Toolbox, enabling the hid-mitm sysmodule and rebooting.

On Atmosphere, installing hid-mitm can be done by dragging the content of the release.

No help for ReiNX is provided, if it runs that's fine but if you run into problems please try on a supported cfw before reporting.

No support whatsoever for sxos.

Usage

Rebinding buttons

Simply open the Kosmos toolbox, go to the sysmodule menu and continue to the hid-mitm menu from there (it's a simple button-press explained in the bottom bar)

After that a screen will pop up in which you can select the button you want to rebind and then what you want it to rebind for.
After you're done, be sure to touch the button in the middle to save your changes.

You can also configure it manually by editing the /config/hid_mitm/config.ini file.

Custom gamepads

The way that custom gamepads work with hid-mitm is not by directly connecting the gamepad to your switch but by connecting your gamepad to your phone (and experimentally pc) and then running the hid-mitm app which then in turn sends the input to your switch which will recognize it as an additional pro-controller.

Download the companion_apps.zip from the release page.

Android

iOS

As a workaround to iOS not recognizing a plus and minus button l1+l2+r1+r2+x will result in a plus and l1+l2+r1+r2+dpad-left in a minus.

Hid-mitm can also easily be repurposed to do scripted inputs (for example a "twitch plays").
Check out the input_pc.py for some reference of how to talk to hid-mitm.

Known issues

Planned features

Support

The best way to get your questions answered is by asking in the AtlasNX discord.

Please don't pollute the issue-tracker with general usage questions.