Emulate Nintendo Switch Controllers over Bluetooth
Emulate Nintendo Switch Controllers over Bluetooth.
Tested on Ubuntu 19.10, and with Raspberry Pi 3B+ and 4B Raspbian GNU/Linux 10 (buster)
Emulation of JOYCONR, JOYCONL and PRO_CONTROLLER. Able to send: - button commands - stick state - ~~nfc data~~ (removed, see #80)
Ubuntu: Install the
dbus-pythonand
libhidapi-hidraw0packages
bash sudo apt install python3-dbus libhidapi-hidraw0
Arch Linux Derivatives: Install the
hidapiand
bluez-utils-compat(AUR) packages
bash sudo pip3 install .
Run the script
bash sudo python3 run_controller_cli.py PRO_CONTROLLERThis will create a PRO_CONTROLLER instance waiting for the Switch to connect.
Open the "Change Grip/Order" menu of the Switch
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 "<Switch Bluetooth Mac address>"). 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.