Socket
Book a DemoInstallSign in
Socket

jsdualsense

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsdualsense

Control your PS5 (or EDGE) controller with JavaScript using WebHID.

1.5.0
latest
Source
npmnpm
Version published
Weekly downloads
314
-54.56%
Maintainers
1
Weekly downloads
 
Created
Source

README Español

es

jsDualsense

jsDualsense is a JavaScript library for interacting with the PlayStation 5 DualSense (and Edge) controller using WebHID. It allows you to read inputs, control LED lights, vibration, adaptive triggers, and audio from the controller directly in the browser.

Features

  • Easy connection to the DualSense controller via WebHID.
  • Input reading (sticks, buttons, triggers, sensors).
  • RGB LED control.
  • Vibration control (left and right motors).
  • Adaptive trigger control (L2/R2).
  • Audio effect control from the controller.

Requirements

  • A browser that supports the WebHID API (Chrome, Edge).
  • A DualSense (PS5) or DualSense Edge controller.

Installation

npm install jsdualsense

Or download the files from this repository.

Basic Usage

HTML code

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Light features example</title>
  </head>
  <body>
    <input type="button" value="Conect" id="connectButton" />
    <input type="button" value="Close" id="closeButton" />
    <script type="module" src="index.js"></script>
  </body>
</html>

Javascript code

//index.js

// Local import for development or internal use
import { jsDualsense, TrigerEffects } from "jsdualsense";

// Import from CDN for environments where packages can't be installed (e.g., directly in browsers)
//import {jsDualsense, TrigerEffects} from 'https://cdn.skypack.dev/jsdualsense';

const startElement = document.getElementById("connectButton");
const closeElement = document.getElementById("closeButton");

const ds = new jsDualsense();

startElement.addEventListener("click", async () => {
  await ds.start(); // Connect
  const data = await ds.readData(); // Read input data
  console.log("Input:", data);

  // Change LED color to blue
  await ds.setLight.setColorI([0, 0, 255]);

  // Vibrate the left motor at 50%
  await ds.setVibrationL.setVibration(128);

  // Set left trigger to max force
  await ds.setTriggerL.setEffect(TrigerEffects.Weapon);
});

closeElement.addEventListener("click", async () => {
  await ds.finish(); // Disconnect
});

Main API

  • start(): Initiates the connection with the controller.
  • readData(): Reads and decodes input data.
  • finish(): Turns off effects and closes the connection.

Documentation

Check out the folder en_documentation for more information about the function of this library.

Notes

  • This code must run in a secure context (https or localhost).
  • The user must grant permission to access the HID device.

License

MIT

Developed by amerca9664

Keywords

jsdualsense

FAQs

Package last updated on 01 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.