Tutorial Use your 3DS/WiiU Gamepad as a Switch controller

Intronaut

A star maker
OP
Member
Joined
Nov 18, 2014
Messages
772
Trophies
0
Age
28
XP
981
Country
Chile
UPDATE 31/10/2020: Added Android and PC Keyboard Connection
UPDATE 04/11/2020: Added generic PC controller and Parsec configuration extra
---------------------------------------------------------------------

Ahhh! the old Wii U days. You wanted to enjoy a Smash Bros evening with your mates, but you were out of controllers? No problem! You could connect your wiimotes, your gamecubes controllers and even your 3DS.

But times have changed and now the Nintendo Switch does not support those controllers natively (with the exception of the gamecube controllers).

However, things are changing. Some days ago, @ndeadly surprised us with MissionControl, a sysmodule which allows us to connect bluetooth controllers such as the wiimote.

And now, @nachuz released sys-hidplus, allowing us to emulate controllers. This allows us to connect our Wii U gamepad and our 3DS to our switch. Like in the old days!

So let's start!

It's important to notice that sys-hidplus is still in development, so in some rare cases, your switch can receive unexpected responses. However, it is playable and enjoyable. In addition, for the best performance, connect your computer with an ethernet cable.


Requirements
If you plan to connect to a Parsec host, skip these requirements.

  • A Nintendo Switch (obviously!)
  • Python3
  • Atmosphère
If you plan to connect to a Parsec host, only download 3DSController and vJoy.

  • A modded 3DS
  • A Wii U (can be modded or unmodded)
  • Device with Android 5.0 or higher
If you plan to connect to a Parsec host, only download Headsoft's vJoy

If you plan to connect to a Parsec host, skip these requirements (except the PC controller one, obviously xD).

  • A Pc controller

Steps

If you plan to connect to a Parsec host, skip python and sys-hidplus installation

  • Make sure you have Python3 installed
  • Follow the specific steps for your device:
  • Install ViGEmBus
  • Open USendMii, select your Client type (Web browser or Homebrew) and click START
  • Homebrew: open the USendMii Client and enter the IP shown in USendMii. Web Browser: Go to Internet and enter the IP shown in USendMii into the address bar. Then select streaming.
  • You can check if your Wii U is connected if you move the left analog and the cursor moves.
  • Now, click on the "Wii U Gamepad" panel.
  • For each Wii U button, there should be a blue box with the actual key being pressed. In each of these boxes, do a right-click on them, select ViGEm, and then the button of the virtual xbox 360 controller you would like to bind. You can use an image of an Xbox 360 controller for reference.
  • (optional) Go to the home panel and save your configuration.
  • If you want to use your controller to connect to a Parsec Host, stop reading and go to "Parsec configuration" in the "Extra" section. For offline use, continue reading.
  • Open cmd, go to the directory where you have the sys-hidplus tools and enter "py input_pc.py SWITCH_IP_ADDRESS"
  • Et voilà! Your Wii U gamepad should be recognized by your Switch
Yes, there is a easier way to connect your 3DS with Pinbox, which send your 3ds input to your PC and creates a virtual xbox 360 controller immediatly. However, this homebrew also forces you to stream your PC screen to your 3DS, which have an impact on performance. AFAIK, there is no way to disable the video streaming, so for the moment stick to 3DSController

  • Install vJoy
  • Go to the Start Menu and search "Configure vJoy"
  • Enter "16" in the "Number of buttons" field and click on "Apply"
  • Open 3DSController.exe in your PC and 3DSController homebrew in your 3DS. The console should inform that your 3DS is connected, even if both screens turn black. You can verify that everything is fine with "Monitor vJoy" and pressing your 3DS buttons"
  • If you want to use your controller to connect to a Parsec Host, stop reading and go to "Parsec configuration" in the "Extra" section. For offline use, continue reading.
  • Now, create a folder with any name (I recommend "VDX"). In this directory, place the VDX and x360ce executables.
  • Open x360ce and download the files that it ask you to get.
  • Then, you should see the image of an Xbox 360 controller. In each of the white boxes, click on "Record" and press a key on your 3DS. It doesn't matter if all the boxes aren't filled. You can then verify your configuration pressing your 3DS buttons and seeing which green lights appear.
  • In the dropdown above, select VDX.exe and then click on save.
  • Now , open VDX.exe, and click "connect"
  • Open cmd, go to the directory where you have the sys-hidplus tools and enter "py input_pc.py SWITCH_IP_ADDRESS"
  • Et voilà! Your 3DS should be recognized by your Switch
  • Install DroidJoy Server on your PC and DroidJoy FreeLite version on your mobile.
  • Restart your computer
  • Open DroidJoy Server. Look for the IP address of your PC
  • Open DroidJoy Lite and touch the "Connect Button". Then press the Plus Button in the bottom, and then select "Find Server".
  • The IP address of your PC should appear. Touch "Save" to Confirm.
  • Touch the saved server. Your PC will show a notification saying that the device is connected.
  • Touch the Gamepad Button. Then select a layout. I recommend the "Template Shooter" one.
  • If you want to use your controller to connect to a Parsec Host, stop reading and go to "Parsec configuration" in the "Extra" section. For offline use, continue reading.
  • Open cmd, go to the directory where you have the sys-hidplus tools and enter "py input_pc.py SWITCH_IP_ADDRESS"
  • Et voilà! Your Android device should be recognized by your Switch
  • Install Headsoft's vJoy and reboot your computer
  • Open vJoy and then go to the Icon Tray, find the vJoy icon, right-click and then Open
  • Configure your virtual joystick with your preffered keys.
  • Make sure to check "Enabled" and "Block Keys" Boxes
  • If you want to use your controller to connect to a Parsec Host, stop reading and go to "Parsec configuration" in the "Extra" section. For offline use, continue reading.
  • Now, create a folder with any name (I recommend "VDX"). In this directory, place the VDX and x360ce executables.
  • Open x360ce and download the files that it ask you to get.
  • Then, you should see the image of an Xbox 360 controller. In each of the white boxes, click on "Record" and press a key. It doesn't matter if all the boxes aren't filled. You can then verify your configuration pressing a key and seeing which green lights appear. You will notice that the keys you configured for LEFT, RIGHT, UP AND DOWN are automatically configured for the Left axis.
  • In the dropdown above, select VDX.exe and then click on save.
  • Now , open VDX.exe, and click "connect"
  • Open cmd, go to the directory where you have the sys-hidplus tools and enter "py input_pc.py SWITCH_IP_ADDRESS"
  • Et voilà! Your Keyboard should be recognized by your Switch
  • First, if you plan to use offline (i. e. without Parsec), check if your controller is supported by sys-con. If not, continue reading
  • Verify that your computer detects and receives the inputs of your controller
  • If you want to use your controller to connect to a Parsec Host, stop reading and go to "Parsec configuration" in the "Extra" section. For offline use, continue reading.
  • Now, create a folder with any name (I recommend "VDX"). In this directory, place the VDX and x360ce executables.
  • Open x360ce and download the files that it ask you to get.
  • Then, you should see the image of an Xbox 360 controller. In each of the white boxes, click on "Record" and press a button of your controller. It doesn't matter if all the boxes aren't filled. You can then verify your configuration pressing abutton and seeing which green lights appear.
  • In the dropdown above, select VDX.exe and then click on save.
  • Now , open VDX.exe, and click "connect"
  • Open cmd, go to the directory where you have the sys-hidplus tools and enter "py input_pc.py SWITCH_IP_ADDRESS"
  • Et voilà! Yourgeneric PC controller should be recognized by your Switch

Extra

Parsec automatically maps your controller and generates a virtual xbox 360 controller. This is particularly useful for some controllers such as the Wii U gamepad, DroidJoy, among others. However, sometimes this could not happen or maybe you want to change the button mapping. If that's your case, continue reading

  • Open Parsec and log in
  • Go to Settings
  • Click on the Gamepad tab"
  • Select your controller in the dropdown below.
  • Press a button in your controller. In your screen you will see that the state of one of the buttons of the virtual xbox360 controller will change to "pressed", which means that the button you pressed is bound to the button that appears in that row.
  • If you want to change it, just click on map and press the new button you want to use for that input. Repeat the previous and current steps until you are satisfied with the gamepad mapping.
  • Now connect into a Parsec host and press a button. You will see that a notification will appear in the host screen, saying that a new controller has been connected and is going to be configured.


Videos


PD: I don't have any more devices to try. If you have a PSP, PSV, Iphone, etc, please feel free to try and tell us your results.
 

Attachments

  • 3DSController_PC_CONFIG.rar
    1.2 KB · Views: 214
Last edited by Intronaut,

Intronaut

A star maker
OP
Member
Joined
Nov 18, 2014
Messages
772
Trophies
0
Age
28
XP
981
Country
Chile
How about the Wii u controller? Currently using mayflash. Also does vibration work?

Do you mean the wii u controller pro? If you plan to use for offline play (i.e. no parsec), you should better use MissionControl, which supports bluetooth controllers without the need of a PC. However, if you want to use it for Parsec, it follows the same logic of the PC generic controller. In other words, make sure that your PC can receive its inputs and map those inputs into a virtual xbox controller with Parsec.
 
  • Like
Reactions: Shalashaska98

Shalashaska98

Well-Known Member
Member
Joined
Jan 17, 2018
Messages
992
Trophies
0
Age
24
XP
1,799
Country
United States
Do you mean the wii u controller pro? If you plan to use for offline play (i.e. no parsec), you should better use MissionControl, which supports bluetooth controllers without the need of a PC. However, if you want to use it for Parsec, it follows the same logic of the PC generic controller. In other words, make sure that your PC can receive its inputs and map those inputs into a virtual xbox controller with Parsec.
Thanks and great job
 

1B51004

Well-Known Member
Member
Joined
Nov 23, 2020
Messages
299
Trophies
1
XP
811
Country
United States
Kinda wish it didn't require a hacked switch to work (as I currently cannot hack mine, hoping to get another one for christmas), but this is really nice! I still don't understand why Nintendo didn't allow Ultimate to connect with the Smash 3DS Controller, as that app is currently sorta useless to me now.
 
General chit-chat
Help Users
    AkiraKurusu @ AkiraKurusu: ^ That's why I could never get far into LGPE; now *that's* "too different", with so many changed...