You do not have permission to edit this page, for the following reason:
The action you have requested is limited to users in one of the groups: Users, Administrators.
Free text:
Ctroller-android is a program that lets you use your 3DS as an input device for your Android system via the uinput kernel module. It consists of a client that runs on your 3DS, continously streaming the 3DS input data to a server on your Android device. The server exposes a virtual device to your system, interpretes the data it receives and writes it to a event node under <code>/dev/input/event*</code> or similar. The kernel gamepad input documentation can be found [https://www.kernel.org/doc/Documentation/input/gamepad.txt here]. This is a port of phijor's [[Ctroller_3DS|ctroller]] application to Android. '''Note:''' To use this your phone must be rooted with a uinput enabled kernel. ARM(64) only. ==Installation== ===Prerequisites=== ctroller-3ds, you can use the [https://github.com/phijor/ctroller/releases/latest pre-built binaries] by phijor (3DSX or CIA). ctroller-android, you can use either the ELF binary, or the Android app. To run the server, the <code>uinput</code> kernel module needs to be loaded: $ modprobe uinput ===Installing=== Create a directory <code>ctroller</code> in the root of your SD card. Place <code>ctroller.cfg</code> in there and replace the IP with the one of your PC (the config file should now be at <code>sdmc:/ctroller/ctroller.cfg</code>). Install ctroller-3DS using either one of the following: * CIA - Install <code>.cia</code> with the CIA-manager of your choice. * 3DSX - Copy <code>.3dsx</code> and <code>.smdh</code> to <code>/3ds/ctroller/</code> on your SD card. Install ctroller-android using either one of the following: * APK - With a simple UI. * ARM64 - Run ELF binary manually. ==User guide== ===App version=== Run the application and press start. Launch the <code>ctroller.3dsx</code> or <code>ctroller.cia</code> application on your 3DS using a homebrew launcher of your choice. ===ELF binary=== Start the ELF binary manually by copying to a executable location (like /data/local/tmp/) and running: $ ./ctroller Flags if you manually run the binary: -d --daemonize execute in background -h --help print this help text -p --port=<num> listen on port 'num' (defaults to 15708) -u --uinput-device=<path> uinput character device (defaults to /dev/uinput) -k --keymap use a keymap file (if not set, ctroller will use the default keymap) Then launch the <code>ctroller.3dsx</code> or <code>ctroller.cia</code> application on your 3DS using a homebrew launcher of your choice. For development purposes, the 3DS-Makefile includes a <code>run</code> target that uses <code>3dslink</code> to upload and run the application using the Homebrew Menu NetLoader. ===Custom keymap file=== To remap the buttons in a way you want, you need to create a file with a button label on each line. The default mapping is this: A B X Y START SELECT L R ZL ZR To modify it, copy the above into a file, and swap keys around. The order is very important; any key in your custom keymap will override the default one on the same line. To use this keymap with ctroller-android, use the -k option (see above). For example, to change the layout to be more like an xbox, you can swap <code>A</code> and <code>B</code>; <code>X</code> and <code>Y</code>; <code>R</code> and <code>ZR</code>; and <code>L</code> and <code>ZL</code>. The keymap file will look like this: B A Y X START SELECT ZL ZR L R ===Notes=== This program is intended to be used in a private network. For simplicity, the server right now accepts any connection on it's port, which might pose a security risk if others can send data to it. This will be changed in future releases. For now, you probably shouldn't be using this in a public network. ==Screenshots== https://dlhb.gamebrew.org/3dshomebrews/ctrollerandroid3.png ==Known issues== C-stick and D-Pad may not work. ==Changelog== '''APK v0.1.3 2017/12/27''' * Add about page - Check if the native binary is already running on app launch, and if so, give an option to stop it. * Update native binary to release android-0.1.2 (buttons are now mapped like an xbox controller, fixed error logging). '''ARM64 v0.1.2 2017/12/27''' * The buttons now map like an xbox controller. ==External Links== * GitHub (ctroller-android app) - https://github.com/hacker1024/ctroller-android-app * GitHub (ctroller-android binary) - https://github.com/hacker1024/ctroller-android * XDA - https://forum.xda-developers.com/t/use-your-nintendo-3ds-as-an-android-game-controller.3712796 * Reddit - https://www.reddit.com/r/3dshacks/comments/7gmvec/use_your_3ds_as_a_android_game_controller_port_of
Advertising: