A web-based calibration tool for PlayStation DualShock 4, DualSense, and DualSense Edge controllers using the WebHID API.
- Controller connection via WebHID API
- Stick calibration and range calibration
- Input testing and visualization
- Battery status display
- Multi-language support (20+ languages)
- Progressive Web App capabilities
- Node.js (v16 or higher)
- npm or yarn
- Modern browser with WebHID support (Chrome/Edge)
-
Install dependencies:
npm install
-
Build the application:
npm run build
-
Start the development server:
npm run start
The app will be available at
https://localhost:8443
npm run build
- Build the application for developmentnpm run build:prod
- Build the application for productionnpm run clean
- Clean the dist directorynpm run serve:https
- Serve the built app over HTTPS (required for WebHID)npm run serve
- Serve the built app over HTTP (WebHID won't work)npm run start
- Build and serve the appnpm run dev:full
- Build, watch for changes, and serve with auto-reloadnpm run watch
- Watch for file changes and rebuild
For active development with auto-rebuild:
npm run dev:full
This will:
- Build the application
- Start watching for file changes
- Serve the app over HTTPS at
https://localhost:8443
- Automatically rebuild when files change
- HTTPS Required: The WebHID API requires HTTPS. The development server uses self-signed certificates.
- Browser Security: You may need to accept the self-signed certificate warning in your browser.
- Controller Support: Only works in browsers with WebHID support (Chrome, Edge, Opera).
js/
- Source JavaScript filescss/
- Source CSS filestemplates/
- HTML template fileslang/
- Translation filesassets/
- SVG assetsdist/
- Built application (generated)
The project uses Gulp for building:
- JavaScript bundling with Rollup
- CSS concatenation and minification
- HTML processing and minification
- Asset optimization
- Development vs production builds