A 3DS homebrew application which allows you to use your 3DS as a wireless controller for Windows.
The latest release will always be downloadable from here.
If you are updating to 0.6 from an older version, you will need to make sure you update vJoy to the recommended version.
Firstly, if you want to be able to register the circle pad or touch screen as a joystick you will need to install vJoy (version 2.0.5-120515 is preferable). However, if you just want to use keyboard buttons, this is not necessary.
Extract the archive and copy the executable in the
3DSdirectory with the extension that applies to your loader:
3DSController.3dsxand
3DSController.smdhfor Ninjhax,
3DSController.3dsfor flashcards, or
3DSController.ciafor CFWs, into your 3DS's SD card or flashcard's micro SD card.
Copy the file
3DS/3DSController.inito the root of your 3DS's SD card, and change the line that says
IP: 192.168.0.4to match your computer's local IP.
If you are unsure of your local IP address, run
3DSController.exeand it will tell you.
Run
3DSController.exeon your computer. If you are prompted, make sure to allow it through your firewall.
Start the application on your 3DS, there is no GUI, it will automatically try to connect to the IP address you put in
3DSController.ini.
If it wasn't able to read the IP from
3DSController.ini, it will notify you and quit.
Otherwise, you should just see a black screen, this is a good sign. To see if it works, open Notepad and press some buttons on the 3DS, they should show up. You can also test if the joystick works by going to Configure USB Game Controllers in Control Panel, it shows up as vJoy.
If using version 0.4 or above you can press L, R and X to bring up the keyboard. Press L, R and X again to close it.
If using version 0.6 or above, up to 16 joystick buttons are available. If you wish to use more than 8, you need to configure vJoy. Search in your start menu for vJoyConfig and set buttons to 16.
If using Ninjhax press Start and Select to return to the Homebrew Loader, otherwise you can just exit with the Home button.
-For keyboard emulation Follow the Windows instructions, but use
3DSController.pyinstead of the EXE.
-For Joystick emulation, first, install python-uinput. BEWARE: The latest release of this library as of the writing of this tutorial is 0.10.2 which is broken for most updated systems. Download the master branch directly.
Make sure that uinput module is running. You can do it from cosole like so:
#!sudo modprobe uinput
Then, follow the Windows instructions, but use
3DSController_gamepad.pyinstead of the EXE.
May work on OS X too, but this is not tested.
Find the line
Port: 8889and change it to your desired port, do this for both the 3DS's
3DSController.iniand the PC's
3DSController.ini.
To use custom key bindings, just change the PC's
3DSController.inifile, it should be straight forward.
The configuration for the keyboard emulation is in
3DSController.py, not the INI.
The configuration for the joystick emulation is in
3DSController_gamepad.py, not the INI.
3DSController.iniis in the root of your 3DS's SD card (not flashcard micro SD),
3DSController.inihas the local IP of your computer, not your public IP,