Using a 3DS as a Citra Controller

So, a few days ago I tried out Citra, and was pleasantly surprised at the speed and compatibility. Unfortunately, lacking controller support, I was forced to use my keyboard. Later I had an idea for a controller. The idea is simple in theory. There are a few FTP homebrew programs for the 3DS, so connecting to a 3DS is not difficult. So, why not use your 3DS as a controller? All that is required is a homebrew controller program that can be connected to by Citra. Implementing this functionality into Citra would not be difficult; however, a homebrew app would still be required. If there is someone who knows how to write 3DS homebrews, it would be much appreciated. I myself do not have the skills to create 3DS homebrews, but I could probably help to create the Citra 3DS controller support.



Citra does have controller support. Just no GUI to configure it.

If you want to use your 3DS as a controller I’d recommend writing a generic driver to turn a 3DS into a common USB device like an Xbox 360 controller (Linux: uinput / Windows + Mac: no idea but solutions exist). If you also want video feedback, touchscreen and motion controls I’d suggest adding a second virtual joystick or motion sensing device, a virtual mouse and something like VNC / mplayer to stream video.

All of this can be a third party app.
I think it’s such a rare use case that it doesn’t warrant adding such complex code (which requires a lot of synchronization, dependencies etc.). You’ll also gain the flexibility to use it for other programs if you keep it seperated.

There have been people doing this in the past by the way (I’m assuming it was on the old forums as I can’t find the topic now).

I believe there is the 3DSController homebrew app that let’s you use your 3DS as controller (Windows only). Haven’t tried it but should be able to setup to work with Citra.

1 Like

I tried it and it worked pretty well. Actually that is the one I used to test the gamepad PR. Also, that program supports linux