joydance | ||
pycon | ||
static | ||
.gitignore | ||
dance.py | ||
README.md | ||
requirements.txt |
JoyDance
Features
Play Just Dance 2016 and later on all platforms with Joy-Cons!
- 6 players supported
- no latency
- no random disconnection
Compatiblitiy
Xbox Series | Xbox One | PS4/5 | Nintendo Switch | Stadia | PC | Wii U | |
---|---|---|---|---|---|---|---|
2020-2022 | √ | √. | √ | √ | √ | ||
2016-2019 ⚠︎ | √ | √ | √ | √ | √ |
Important: Can't use buttons on Joy-Con to navigate the UI in JD 2016-2019 (you'll have to use controllers/keyboard). See #6.
Benefits
- Playing with a Joy-Con, with the strap on, is safer and more comfortable than holding a phone.
- Score better than with a phone!
How does it work?
It pretends to be the Just Dance Controller app, sending movements of the Joy-Con to your game console.
Requirements
Hardware
- Bluetooth module or dongle
- It is preferred to use a Bluetooth dongle because built-in Bluetooth may not perform quite well. Make sure you buy a dongle with game controllers support, not just for audio devices. Not all dongles support macOS or Linux, so remember to check compatibility before buying.
- up to 6 Joy-Cons
- It's recommended to update the Joy-Cons to the latest firmware and to calibate its motion sensors.
Software
- a desktop operating system
- ChromeOS is not supported.
- Python 3.7+ and
pip
installed
Installation
- Download the latest version and extract it into a folder.
- The dependencies will be automatically downloaded. (new from original version)
Extra steps for Linux users
Click to expand!
1. Linux users may need to use [`hid`](https://github.com/apmorton/pyhidapi) instead of [`hidapi`](https://github.com/trezor/cython-hidapi) (not sure why `hidapi` couldn't find Joy-Cons on Linux).
```
pip3 uninstall hidapi
sudo apt install libhidapi-dev
pip3 install hid
```
2. Create a new udev rule file at `/etc/udev/rules.d/50-nintendo-switch.rules` ([Source](https://www.reddit.com/r/Stadia/comments/egcvpq/using_nintendo_switch_pro_controller_on_linux/fc5s7qm/))
```
# Switch Joy-con (L) (Bluetooth only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2006.*", MODE="0666"
# Switch Joy-con (R) (Bluetooth only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2007.*", MODE="0666"
# Switch Pro controller (USB and Bluetooth)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0666"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2009.*", MODE="0666"
# Switch Joy-con charging grip (USB only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="200e", MODE="0666"
```
Reload udev rules:
```
sudo udevadm control --reload-rules
sudo udevadm trigger
```
3. Install [`dkms-hid-nintendo`](https://github.com/nicman23/dkms-hid-nintendo) (Joy-Con driver) if you're running Linux kernel older than 5.16.
Usage
-
Open the phone pairing screen on Just Dance.
-
Connect your computer to the same Wi-Fi or LAN network as your game console.
- For Stadia, you just need to connect to the internet.
-
Run the executable or the Python script (
dance.py
). -
Open http://localhost:32623 in a web browser. You can also open JoyDance on another device connected to the same network by replacing
localhost
with your computer's private IP address. -
Turn on Bluetooth, and pair with the Joy-Cons by holding down the sync button until the light move up and down. Press the "Refresh" button until your Joy-Con shows up.
-
Fill the form. Pairing Method:
Default Fast Stadia Old Platforms | All non-Stadia | Xbox One, PlayStation, Nintendo Switch | Stadia | all | Game versions | 2020-2022 | 2020-2022 | 2020-2022 | 2016-2019 | Pairing Speed | slow | fast | slow | fast | Pairing Code | √ | | √ | | Private IP Address | host | console | | PC, console | - Host's Private IP Address:
- The private IP address of your device running JoyDance. Find this in the Wi-Fi settings.
- Starts with
192.168.
or10.
.
- PC/Console's Private IP Address:
- The private IP address of your PC or gaming console. Find this in the Wi-Fi settings on that device.
- Starts with
192.168.
or10.
.
- Pairing Code: Get this from the game.
- Host's Private IP Address:
-
Press the "Connect" button next to Joy-Con to start the pairing process.
-
Once paired, go ahead with the game!
Controller Mappings
Joy-Con (L) | Joy-Con (R) |
---|---|
Up | X |
Right | A |
Down | B |
Left | Y |
L | R |
ZL | ZR |
Minus | Plus |
FAQs
1. What is the correct way to hold a Joy-Con?
Please follow these images for Joy-Con (L) and Joy-Con (R).
2. How to exit JoyDance?
Close the only window, or press ⌃C
.
3. Can I play Just Dance 2017 on a PC while using JoyDance?
Yes, you can.