PadPulse is a browser based controller tester for PS5, Xbox, Switch and major third-party gamepads. It helps you inspect drift, deadzone behavior, triggers, buttons, axis history, browser polling and approximate controller model detection from the Gamepad API.
Created by Christopher David Alberto Roque - White Assassins with AEWhiteDevs.
PadPulse es una web estatica para probar mandos desde el navegador. Esta pensada para revisar drift, zona muerta, sticks, botones, gatillos, historial de ejes y una estimacion de respuesta basada en la Gamepad API para PlayStation, Xbox, Nintendo Switch y marcas importantes.
- Deteccion de familia y modelo aproximado del mando.
- Base ampliada de deteccion para PlayStation, Xbox, Nintendo, 8BitDo, Razer, Backbone, PowerA, HORI, PDP, GameSir, Nacon, SCUF y mas.
- Extraccion de
vendorIdyproductIdcuando el navegador los expone engamepad.id. - Interfaz bilingue en espanol e ingles.
- Modo adaptativo
Auto / Full / Consolacon deteccion del entorno de acceso. - Navegacion por pestañas para evitar una pagina excesivamente larga.
- Visualizacion en vivo de drift y zona muerta en ambos sticks.
- Historial de ejes en tiempo real.
- Vista de botones y gatillos.
- Test guiado paso a paso para validar un mando completo.
- Analisis avanzado de gatillos con curva, umbral, resolucion y suavidad.
- Base local de compatibilidad por navegador y sistema.
- Historial persistente de sesiones en
localStorage. - Instalacion como PWA y soporte offline basico.
- Compartir resultados mediante Web Share API o portapapeles.
- Prueba de vibracion cuando la Gamepad API lo permite.
- Calibracion del centro y reinicio rapido de metricas.
- Branding, favicon, manifest y metadata social listos para despliegue.
- Workflow de despliegue automatico a GitHub Pages.
- Clona el repositorio.
- Entra en la carpeta del proyecto.
- Ejecuta:
node server.js- Abre
http://localhost:4173.
Tambien puedes usar:
npm startSi PowerShell bloquea npm.ps1, usa node server.js directamente.
- Sube el repositorio a GitHub.
- Ve a
Settings > Pages. - En
Source, seleccionaGitHub Actions. - Haz push a
mainomaster. - El workflow
.github/workflows/deploy-pages.ymlpublicara la web automaticamente.
- La latencia real del hardware no se puede medir con precision desde una web. PadPulse muestra una estimacion basada en
timestamp,requestAnimationFramey cambios visibles en la entrada. - La deteccion exacta del modelo depende de lo que exponga cada navegador y cada sistema operativo.
- El modo
Autointenta detectar escritorio, movil o navegador de consola para adaptar la presentacion, pero la experiencia completa sigue disponible si el usuario fuerzaFull. - La aplicacion funciona mejor en navegadores Chromium modernos.
- No se suben datos del mando a ningun servidor desde la propia web.
PadPulse is a static browser app for testing controllers directly from the web. It lets you inspect drift, deadzone behavior, buttons, triggers, axis history and an estimated response signal built on top of the Gamepad API for PlayStation, Xbox, Nintendo Switch and major third-party brands.
- Approximate controller family and model detection.
- Expanded detection base for PlayStation, Xbox, Nintendo, 8BitDo, Razer, Backbone, PowerA, HORI, PDP, GameSir, Nacon, SCUF and more.
vendorIdandproductIdextraction when the browser exposes them throughgamepad.id.- Spanish and English interface.
- Adaptive
Auto / Full / Consoleview mode with environment detection. - Live stick drift and deadzone visualization.
- Realtime axis history.
- Buttons and triggers monitoring.
- Guided end to end controller test flow.
- Advanced trigger analysis with curve, threshold, resolution and smoothness.
- Local compatibility database per browser and platform.
- Persistent local session history via
localStorage. - PWA install support with basic offline caching.
- Tabbed navigation to avoid an overly long single-page layout.
- Result sharing through Web Share API or clipboard.
- Rumble test when the Gamepad API exposes vibration support.
- Center calibration and fast metric reset.
- Branding, favicon, manifest and social metadata ready for publishing.
- Automatic GitHub Pages deployment workflow.
- Clone the repository.
- Move into the project folder.
- Run:
node server.js- Open
http://localhost:4173.
You can also run:
npm startIf PowerShell blocks npm.ps1, run node server.js directly.
- Push the repository to GitHub.
- Go to
Settings > Pages. - Choose
GitHub Actionsas the source. - Push to
mainormaster. - The
.github/workflows/deploy-pages.ymlworkflow will publish the site automatically.
- True hardware latency cannot be measured accurately from the browser. PadPulse shows an estimate based on
timestamp,requestAnimationFrameand visible input changes. - Exact model detection depends on what each browser and operating system expose.
Automode tries to detect desktop, mobile or console-like browsers to adapt the presentation, but the full experience remains available if the user switches toFull.- The app works best on modern Chromium based browsers.
- The site itself does not upload controller data anywhere.
.
|-- .github/
|-- favicon.svg
|-- index.html
|-- script.js
|-- site.webmanifest
|-- social-card.svg
|-- styles.css
|-- server.js
|-- package.json
|-- CONTRIBUTING.md
|-- CODE_OF_CONDUCT.md
|-- SECURITY.md
|-- LICENSE
`-- README.md
Please read CONTRIBUTING.md before opening major pull requests.
This project follows the rules described in CODE_OF_CONDUCT.md.
Please read SECURITY.md before reporting vulnerabilities.
This project is released under the MIT License. See LICENSE.
- Creator: Christopher David Alberto Roque - White Assassins
- Development group: AEWhiteDevs