mirror of
https://github.com/dualshock-tools/dualshock-tools.github.io.git
synced 2026-03-01 11:19:54 +03:00
c43ad02baffef6d9a425e1ca1e4b37cfd01bc499
DualShock Calibration GUI
A web-based calibration tool for PlayStation DualShock 4, DualSense, and DualSense Edge controllers using the WebHID API.
Features
- 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
Development
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
- Modern browser with WebHID support (Chrome/Edge)
Getting Started
-
Install dependencies:
npm install -
Build the application:
npm run build -
Start the development server:
npm run startThe app will be available at
https://localhost:8443
Development Scripts
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
Development Workflow
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
Important Notes
- 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).
Project Structure
js/- Source JavaScript filescss/- Source CSS filestemplates/- HTML template fileslang/- Translation filesassets/- SVG assetsdist/- Built application (generated)
Build System
The project uses Gulp for building:
- JavaScript bundling with Rollup
- CSS concatenation and minification
- HTML processing and minification
- Asset optimization
- Development vs production builds
Description
Languages
JavaScript
75.9%
HTML
15.7%
Python
6.4%
CSS
1.6%
Shell
0.4%