Skip to content

Nintendo JoyCon

Thomas Wehr edited this page May 9, 2022 · 5 revisions

The Nintendo JoyCon is a GamePad, connected via USB or Bluetooth.

Joy Con

Properties

Property description operations
accelerometer acceleration measured by 1 of the 3 accelerometers, on 3 axis read
actual accelerometer calculated accerleration based on all 3 accelerometers, on 3 axis read
gyroscope angular velocity (rps and dps) measured by 1 of the 3 gyroscopes, on 3 axis read
actual gyroscope angular velocity (rps and dps) based on all 3 gyroscopes, on 3 axis read
actual orientation device orientation in degrees (alpha, beta, gamma) read
quaternion spatial orientation in quaternions read
actual orientation quaternion spatial orientations and rotations on in degress (alpha, beta, gamma) read

Events

Event description
Button x pressed raised, when the referred button x is pressed

Setup

To use this device under Linux, see Linux setup for additional required steps.

  1. Connect the JoyCon to your PC either via Bluetooth or USB.
    1. Turn on Bluetooth on your computer.
    2. Disconnect the Joy-Cons from the Switch.
    3. Hold the Sync button on the Joy-Cons, located between the SR and SL buttons, until the LED lights start flashing.
    4. Look for the Joy-Con in your computer’s Bluetooth menu, and select the option to pair it with your device.
  2. Connect the JoyCon to BLAST by clicking the Things and Resources category and then connect via WebHID.
  3. Select Joy-Con (L/R) and click Connect.
  4. (optional) Give the device a name.
  5. The device is now selectable on the webHID device block in the Things and Resources category.

Linux Setup

  1. Create /etc/udev/rules.d/10-joycon.rules
  2. paste the following rules into it
    # 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"
  3. reload udev rules using sudo udevadm control --reload-rules
  4. Reconnect the device.

Clone this wiki locally