feihugis / joycontrol

Emulate Nintendo Switch Controllers over Bluetooth

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

joycontrol

Emulate Nintendo Switch Controllers over Bluetooth.

Work in progress.

Pairing works, emulated controller shows up in the "Change Grip/Order" menu of the Switch.

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

Installation

  • Install dbus-python package
sudo apt install python3-dbus
  • Clone the repository and install the joycontrol package to get missing dependencies (Note: Controller script needs super user rights, so python packages must be installed as root). In the joycontrol folder run:
sudo pip3 install .
  • Disable the bluez "input" plugin, see #8

"Test Controller Buttons" example

  • Run the script
sudo python3 run_test_controller_buttons.py
  • Open the "Change Grip/Order" menu of the Switch
  • The emulated controller should pair with the Switch and automatically navigate to the "Test Controller Buttons" menu

Issues

  • When using a Raspberry Pi 4B the connection drops after some time. Might be a hardware issue, since it works fine on my laptop. Using a different bluetooth adapter may help, but haven't tested it yet.
  • Incompatibility with Bluetooth "input" plugin requires a bluetooth restart, see #8
  • ...

Resources

Nintendo_Switch_Reverse_Engineering

console_pairing_session

About

Emulate Nintendo Switch Controllers over Bluetooth

License:GNU General Public License v3.0


Languages

Language:Python 100.0%