Before you ask, YES THIS DOES SUPPORT MOTION CONTROLS AND TOUCH INPUT
You enjoy playing games on your PC (maybe even using Emulators like Dolphin, Yuzu, Ryujinx, Cemu, etc.)? You don't have a supported controller and break your fingers using the keyboard? But you have an old 3DS in your closet collecting dust? Fret not - here is how to use your 3DS as a controller for your PC using TinyVNC
I will keep adding descriptions for other emulators later.
However, you can already refer to the DSUController documentation here: https://breeze2.github.io/dsu-controller-guides/#/.
TinyVNC behaves exactly like DSUController, so it should be easy to do the transfer.
Don't forget to re-map the inputs in the emulator input options - the defaults mostly don't seem to work!
You enjoy playing games on your PC (maybe even using Emulators like Dolphin, Yuzu, Ryujinx, Cemu, etc.)? You don't have a supported controller and break your fingers using the keyboard? But you have an old 3DS in your closet collecting dust? Fret not - here is how to use your 3DS as a controller for your PC using TinyVNC
After installation of TinyVNC, you need to configure one of the TinyVNC connections to look like this:
Save (Y) and start the connection (A). If your bottom screen looks like this (the IP address of your 3DS is probably different), you are already rolling.
The IP address (192.168.1.37 in the screenshot above) and port number (26760) will be important later on.
Now, your 3DS is ready to send all controller information to 3rd party systems. The mappings are as follows:
3DS Controller
C-Pad Left Stick
C-Stick Right Stick
SELECT + D-Pad Up Plus (+)
SELECT + D-Pad Down Minus (-)
SELECT + D-Pad Left Left Stick Push
SELECT + D-Pad Right Right Stick Push
all other buttons have the default mapping (A -> A etc.)
If you have an old 3DS (without ZL, ZR and C-Stick), you can use L, R and C-Pad while holding SELECT to map to ZL, ZR and Right Stick.
SELECT + START stops the software.
Now it's time to set up the PC side:
Save (Y) and start the connection (A). If your bottom screen looks like this (the IP address of your 3DS is probably different), you are already rolling.
The IP address (192.168.1.37 in the screenshot above) and port number (26760) will be important later on.
Now, your 3DS is ready to send all controller information to 3rd party systems. The mappings are as follows:
3DS Controller
C-Pad Left Stick
C-Stick Right Stick
SELECT + D-Pad Up Plus (+)
SELECT + D-Pad Down Minus (-)
SELECT + D-Pad Left Left Stick Push
SELECT + D-Pad Right Right Stick Push
all other buttons have the default mapping (A -> A etc.)
If you have an old 3DS (without ZL, ZR and C-Stick), you can use L, R and C-Pad while holding SELECT to map to ZL, ZR and Right Stick.
SELECT + START stops the software.
Now it's time to set up the PC side:
- Download and install latest ViGEmBus.
- Download and install latest DSU Manager.
- Open DSU Manager, click Start, click "MANUAL INPUT", type in the IP address and the port number of your 3DS separated by a colon ":" and click "Connect".
- Now, you should see a new Controller in the DSU Manager window which you can use as controller in most games and emulators
- This setup does not support motion controls, they need to be set up separately in the emulator options.
For yuzu, you can even connect directly - without the "generic setup" above. Here the step-by-step guide:
- Click Emulation->Configure in Yuzu Menu, click on "Controls" on the left navigation bar, select the "Advanced" tab and check "Enable UDP controllers (not needed for motion)"
- Select "Player 1" tab and choose "UDP Controller 0" as Input Device
- Check "Motion" and click on the Configure button below
- In the "Server" field, type in your 3DS IP address (TinyVNC will print out the address after starting cemuhook UDP server). In the "Port" field, you can leave the default unless you changed it in TinyVNC config.
- Start TinyVNC with cemuhook UDP server enabled and click on "Test" and in the "Configure Motion & Touch" Window. The test should be successful.
- Click on "Add Server"
I will keep adding descriptions for other emulators later.
However, you can already refer to the DSUController documentation here: https://breeze2.github.io/dsu-controller-guides/#/.
TinyVNC behaves exactly like DSUController, so it should be easy to do the transfer.
Don't forget to re-map the inputs in the emulator input options - the defaults mostly don't seem to work!