mart1nro / joycontrol

Emulate Nintendo Switch Controllers over Bluetooth
GNU General Public License v3.0
1.22k stars 280 forks source link
bluetooth emulated-controller joycon nintendo-switch pro-controller raspberry-pi

joycontrol

Emulate Nintendo Switch Controllers over Bluetooth.

Tested on Ubuntu 19.10, and with Raspberry Pi 3B+ and 4B Raspbian GNU/Linux 10 (buster)

Features

Emulation of JOYCON_R, JOYCON_L and PRO_CONTROLLER. Able to send:

Installation

Ubuntu: Install the dbus-python and libhidapi-hidraw0 packages

sudo apt install python3-dbus libhidapi-hidraw0

Arch Linux Derivatives: Install the hidapi and bluez-utils-compat(AUR) packages

Command line interface example

The Switch only pairs with new controllers in the "Change Grip/Order" menu.

Note: If you already connected an emulated controller once, you can use the reconnect option of the script (-r "\"). This does not require the "Change Grip/Order" menu to be opened. You can find out a paired mac address using the "bluetoothctl" system command.

Call "help" to see a list of available commands.

Issues

Thanks

Resources

Nintendo_Switch_Reverse_Engineering

console_pairing_session