Tutorial  Updated

Use your 3DS/WiiU Gamepad as a Switch controller

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: 405
Last edited by Intronaut,

Intronaut

A star maker
OP
Member
Joined
Nov 18, 2014
Messages
772
Trophies
0
Age
30
XP
1,005
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: HideoKojima

HideoKojima

Well-Known Member
Member
Joined
Jan 17, 2018
Messages
1,107
Trophies
0
Age
27
XP
2,221
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
413
Trophies
1
XP
2,200
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.
 

SureCandle

Member
Newcomer
Joined
Nov 24, 2021
Messages
10
Trophies
0
Age
25
XP
115
Country
Netherlands
Sorry for the bump, but I have two questions about using the Wii U Gamepad as a Switch controller:



1 - In the video, the Switch isn't docked. Does this technique also work when it is docked?

2 - Would it be possible to cast the Switch's screen to the Gamepad's screen, so that you can play Switch games with your Gamepad's buttons and screen?
 

marcusfinly

New Member
Newbie
Joined
Jul 22, 2023
Messages
1
Trophies
0
Age
33
XP
16
Country
Canada
Hi sorry for the bump,

is there anyone that can help me via discord to get the 3ds to connect to the pc for vjoy? i can't seem to even get that part to connect.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • ZeroT21 @ ZeroT21:
    supermarket pizza is ass
  • K3Nv2 @ K3Nv2:
    x65 would just yell at me
  • ZeroT21 @ ZeroT21:
    sounds ok, he didn't pull a gun out ,so...
  • K3Nv2 @ K3Nv2:
    $12 large any style pizza deal
  • K3Nv2 @ K3Nv2:
    Each bite is a $1 well spent
  • SylverReZ @ SylverReZ:
    @ZeroT21, Agreed. I hate oven pizza, only from pizza place.
    +1
  • K3Nv2 @ K3Nv2:
    Nah I can still go for totinos
  • RedColoredStars @ RedColoredStars:
    i like totinos party pizzas. lol.
  • RedColoredStars @ RedColoredStars:
    the cracker-like crust is great on those
  • RedColoredStars @ RedColoredStars:
    My neighbor and I are going to make this next month....
  • SylverReZ @ SylverReZ:
    Tiger crust is great.
  • K3Nv2 @ K3Nv2:
    I'm beefing with a neighbor currently each time I ask him for help with something he makes bs excuses then ignores my calls text but seems to randomly speak when I'm done with the project after doing things to help him
  • RedColoredStars @ RedColoredStars:
    DiGiorno Crispy Pan Pizza tasted pretty dang close to Pizza hut pan pizza, but Im not sure if theyve been discontinued or not. Havent seen them locally for a couple of months now.
  • RedColoredStars @ RedColoredStars:
    The croissant crust is still available though, but not quite as good imo.
  • RedColoredStars @ RedColoredStars:
    @SylverReZ Never heard of tiger crust. What is it?
  • SylverReZ @ SylverReZ:
    @RedColoredStars, Its known as tiger bread, also known as dutch crust.
  • Maximumbeans @ Maximumbeans:
    It's fuggin gooooood
    +1
  • RedColoredStars @ RedColoredStars:
    I mean. Whats different about it?
  • RedColoredStars @ RedColoredStars:
    Never even seen a tiger crust pizza in any stores around here. Walmart, Cub, or otherwise.
  • RedColoredStars @ RedColoredStars:
    Must be a regional thing.
  • RedColoredStars @ RedColoredStars:
    Gonna smoke this bowl then go get kitties ashes. <3
  • RedColoredStars @ RedColoredStars:
    Last thing I told her is how much I love her, and that Im not leaving her there forever and I promise to come back and take her back home with me.
  • Bunjolio @ Bunjolio:
    halllo
    RedColoredStars @ RedColoredStars: hello