HID to VPAD Wii U

From GameBrew
HID to VPAD
File:Hidtovpadwiiu.png
General
AuthorMaschell
TypeUtilities
Version0.9k
LicenseGPL-3.0
Last Updated2018/02/17
Links
Download
Website
Source

HID to VPAD is a WiiU homebrew application. It allows you to use HID controllers on your WiiU which will emulate the GamePad or a Pro controller.

It's based on the controller_patcher engine.

Features

  • Native support for common USB-HID devices like the DS3,DS4 and the GC-Adapter.
  • Emulating the WiiU Gamepad and up to 4 WiiU Pro controllers simultaneously.
  • Support for XInput controllers (e.g XBox 360 and Xbox One) or Bluetooth HID-Devices (e.g. Switch Pro Controller) over the network.
  • Support for other controllers can be added by providing a valid configuration file.
  • Remapping of your WiiU Gamepad button layout.

Installation

HID to VPAD is built to loaded through the homebrew launcher. which can be either loaded through the browser exploit or haxchi.

You need to start this application every time you reboot your console. When you want to re-enter the settings, start the Mii Maker (not haxch). It's not possible to start another homebrew application after running hid to vpad.

To install, download the zip from github and extract the wiiu folder on your SD card.

  • ELF file - sd:/wiiu/apps/hidtovpad/
  • Language files - sd:/wiiu/apps/hidtovpad/languages/
  • Config files - sd:/wiiu/controller/

The settings file will be saved to sd:/wiiu/apps/hidtovpad/hidtovpad.cfg.

User guide

How to use

  • Launch the Homebrew Launcher using your preferred method (e.g., haxchi or browser exploit).
  • Open HID to VPAD.
  • Attach the desired controller (you can attach/detach anytime).
  • Choose the controller to emulate from the left-hand menu.
  • Press A, and a window should appear.
  • Press any button on the connected controller; the window should close.
  • If the window doesn't close, the controller may not be supported; make sure you have a valid configuration on your SD card.
  • Upon successful assignment, an image of the controller will appear on the GamePad. Test inputs by pressing any buttons.
  • Assign multiple controllers if needed. Press Plus to apply patches when finished.
  • The WiiU will load the system menu, and you should be set.
  • If a controller emulated as the Pro controller isn't working in a game, press TV on the WiiU GamePad.

Supported device

The official GC Adapter, PS3/PS4 Pad, Mouse, Keyboard have built in support. Other devices can be added when a valid config file in provided.

Default button mapping:

In combination with the Network Client, more controllers are supported. You can find more information here.

Configuration files

Controllers can be configured via config files which need to placed into sd:/wiiu/controller.

With the help of these files, support for new Controller can be added, or existing native configurations can be overwritten.

You can find deep information for creating own config files, the default mapping, in the controller patcher wiki.

A collection of configuration can be found in this repository.

Button remapping

To remap the buttons of your WiiU Gamepad, a configuration file is needed.

More information about creating these config, can be found here.

FAQ

Q. What about XBOX controller?

The Xbox controller are no HID devices. But it can be used in combination with the Network Client.

Q. Is my controller supported?

Take a look at this repo

Do you have an other question? First take a look at:

Translations

HID to VPAD is available in the following languages:

Screenshots

hidtovpadwiiu2.png

Media

Various Controller on the WiiU - HID to VPAD (network) demonstration (mkddmaschell)

How to Soft-Mod WiiU - Pt 3 - Use ANY Controller to Play! (Ps4, Xbox, Logitech, Keyboard + Mouse) (GameInCanada)

Changelog

v0.9k 2018/02/17

  • Added Brazilian Portuguese translations (thanks AlanLC).
  • Added a italian translation (thanks to pazzoeo).
  • Added french translation (thanks to @jlozes).
  • Added option to disable the network controller feature.
  • Fixed accessing the friendlist while using HID to VPAD.
  • The mouse cursor is displaying again.
  • Added config option to copy the DPAD input to one of the sticks (VPAD_L_STICK_COPY_DATA or VPAD_R_STICK_COPY_DATA).

v0.9j 2017/05/08

  • Nightlies will now be automatically uploaded to the homebrew app store.
  • Added support for a settings configuration file.
  • Added settings, now you can disable/enable rumble and the music.
  • Added multiple languages. You can set them in the settings. Currently german and spanish (thanks to victormr21) are support. Translators needed.
  • Using multiple controllers of the same type now possible again.

v0.9i 2017/04/28

  • Adding more NULL checks before using pointer (fixes some crashes).
  • Saving the callback addresses. A user can then trigger the callback manually using the TV button. (fix for e.g. Zelda TP).
  • Increasing the thread-priority of the TCP/UDP server for some games. (Better performance in BOTW).
  • Added rumble support for the network controller.
  • Changed network protocol version to version 3.
  • Added patches for WPADSetConnectCallback and WPADSetDataFormat.
  • Initial support for multiple languages (Currenty there is no option to set a language).
  • Added language files for english and german.
  • Deleted not used resources.
  • Added an error message when a unsupported game is loaded (+ undoing the patches).
  • Making the GC-Rumble work more reliable.
  • Added support for the Switch Pro Controller via USB.
  • Added pre defined values for the switch pro controller config file.
  • Using the sampling callback instead of patching the KPADRead(Ex) and KPADGetUnifiedWpadStatus function. This fixes the buttons pressed for unity games.
  • Adjusted stick sensitivity for the pro controller emulation.

v0.9h 2017/04/10

  • Fixed the configuration of the keyboard.
  • Fixing the wrong checking of bitmasks. Now configure button combination should work.
  • Disable button logging because it leads to random crashes.
  • Fixed using multiple controllers of the same type (same vid/pid).
  • Changed the network protocol to response with PONG after a received PING.
  • Now the lib tries to mount the SD Card on each start until it actually works (This should fix the config reading problems some people have.)
  • Switched to devkitpro r29.
  • Updated the TCP Handshake to also negotiate a protocol version.
  • Fixed pre-defined values for xinput and ds4.
  • Changed datatypes in order to fix "no controller config found" issues with many config files.

tl;dr: Fixed crashes, config handling and serveral bugs.

This version requires the Network Client v0.3.

v0.9g-hotfix 2017/05/31

Another update fixing two little bugs.

  • Works now on Japanese WiiUs
  • Configuration file for controllers which has a default config are working now

v0.9f 2017/03/31

  • Reaaaaaally a lot of things internally. Rewrote the many parts of the controller_patcher engine.
  • Added a nice GUI! DarkIrata did a great job at creating the graphics.
  • Finally fixed the DS3 bug in a official build (sorry for the delay)
  • Controller can also be used to emulate Pro Controller
  • Input preview/tester
  • Supporting even more controller via the network client (e.g Xbox 360, Xbox one, the new DS4,Switch Pro Controller etc.). Big shoutout @QuarkTheAwesome who helped me there!
    • skid_au added support for DS3 Rumble, so big thanks to him.
  • GC-Adapter rumble fixed.
  • Support for all slots of deviced with multiple slots (like https://github.com/Maschell/controller_patcher_configs/blob/master/DualShock2.ini)
  • Hopefully reduced the random crashes.
  • Probably some stuff I already forgot.

v0.9b 2016/08/05

Using newest controller_patcher:

  • Fixed bug with inverted sticks.
  • Built in not inverted sticks can now be inverted through a config.
  • Fixed a typo in the ps4 pad config.

v0.9a 2016/08/05

Updated to new controller_patcher version:

  • Improved deadzone handling.
  • Improve GC pad default values.
  • Fixed displaying number of loaded files.

v0.9 2016/08/04

Using the newest controller_patcher:

Bugfixes:

  • Fixes the still moving mouse in aim mode, when mouse is actually not moving.
  • Fixed a bug at initializing the config_controller_list.
  • Fixed the support for almost all mouses that uses the normal HID mouse standard (boot mode)..
  • The emulated sticks are now supported correctly.
  • The stick now only produces valid values. Stick absusing not possible anymore.

New features:

  • Added support for config files that can be read from an SD Card.
  • Added support for more keyboard buttons.
  • Added support for gamepad button remapping.
  • Made the double used buttons on the GC Pad configuable.
  • The keyboard can now emulate the sticks correctly.
  • Keyboard buttons for the sticks can be set.
  • The mouse buttons can now be configured.
  • The mouse can be configured to emulate the left stick.
  • Added support for one more DPAD mode (CONTRPDM_Absolute_2Values).

Other:

  • Removed the support for the PS2 Adapter and Saitek P2600, but they can be added trough a config file.
  • The engine now uses 16 hardcoded slots the devices can use.
  • cleaned up the logging output.
  • Logging of the currently pressed buttons possible.
  • and more little things I dont remember.

v0.2e 2016/15/12

  • Added meta data and using the new controller_patcher.

v0.2d 2016/05/05

  • Tweaked GC-Pad deadzones.
  • Added mapping of ZL (Z+A)/ZR (Z+B) to GC pad.
  • Probably improved the success rate of switching between apps.
  • Fixed random inputs when no GC-Pad in the adapter.

v0.2c 2016/05/04

  • Improved the SP2600 and the keyboard mapping.

v0.2b 2016/05/03

  • Fixed some issues with the right stick on the ps3 pad.
  • Tweaked the deadzones of the ps3 pad.

v0.2 2016/04/28

Updated to newest controller_patcher:

  • Fixed the dpad on some controllers.
  • Added a deadzone to GC and PS4 pad.
  • Added support for the emulated stick (fixes some games).

v0.1 2016/04/26

  • Initial release.

Credits

  • A big thanks goes out to dimok for creating the HBL, the dynamic libs and every stuff he made. The "environment" of this app is copied from ddd, turned out to be a "hello world" with useful extra stuff.
  • Also huge thanks to FIX94 who initally created his gc-to-vpad. Helped me a lot! Thanks!
  • And of course big thanks to everyone who has helped me testing! (dimok, dibas, EclipseSin,FunThomas,n1ghty etc.)

External links

Advertising: