Joycon.js

August 31, 2024 ยท View on GitHub

Add controller functionality to your JavaScript game.

License Minified size

Get it

Add this line to the <body>:

<script src="https://joycon.js.org/Joycon.min.js"></script>

Here's a demo.

API

const controllers = Joycon.controllers;

Buttons

controllers.on.press('start', (value) => {

  console.log('pressed start!', value); // value is 0 to 1

});

Button can be a, b, x, y, start, left-trigger, etc. (full list below)

Joystick

controllers.on.move('left-joystick', (value) => {

  console.log('moved left joystick!', value.x, value.y); // value is -1 to 1 down/right

});

Also right-joystick.

Controller connect

controllers.on.connect((controller) => {

  console.log('controller connected!', controller);

});

controllers.on.disconnect((controller) => {

  console.log('controller disconnected!', controller);

});

Vibrate

// preset can be mild, medium or strong
controllers.vibrate({ preset: 'medium' }, 250); // -> time in ms

// or choose your own values
controllers.vibrate({
  mildMotorIntensity: 0.5,
  strongMotorIntensity: 0.5
}, 250);

Remove listener

controllers.removeListener('left-trigger');

Remove Joystick move listeners with left-joystick-move.
Remove controller connect listeners with controller-connect.

Button list

Buttons:
aleft-shoulderselectdpad-uphome
bright-shoulderstartdpad-downshare
xleft-triggerleft-joystickdpad-left
yright-triggerright-joystickdpad-right

See above on how to use these.

License

MIT


Thanks for coming by!