A lightweight, browser-based tool for testing and visualizing gamepad inputs. This application helps developers and users test their game controllers by providing real-time visual feedback for button presses, analog stick movements, and controller vibration.
- 🎮 Real-time controller input visualization
- 🕹️ Support for multiple controller types
- 📊 Analog stick position tracking
- 📱 Button press detection
- 💫 Controller vibration testing
- 🎯 Visual feedback through SVG overlays
| Controller | Status | Button Mapped | Analog Support | Vibration | Svg Mapped |
|---|---|---|---|---|---|
| Xbox Controller | 🟧 Partial | ✅ | ✅ | ✅ | 🟥 |
| PS3 Controller | 🟧 Partial | ✅ | ✅ | ✅ | 🟥 |
| PS4 Controller | ✅ Full | ✅ | ✅ | ✅ | ✅ |
| PS5 DualSense | 🟧 Partial | ✅ | ✅ | ✅ | 🟥 |
| Nintendo Joy-Con (L) | ✅ Full | ✅ | ✅ | ✅ | ✅ |
| Nintendo Joy-Con (R) | ✅ Full | ✅ | ✅ | ✅ | ✅ |
| Nintendo Joy-Con Pair | ✅ Full | ✅ | ✅ | ✅ | ✅ |
- Modern web browser with Gamepad API support
- Compatible game controller
- Node.js and npm (for development)
- Connect your controller to your computer via Bluetooth
- Open the Gaming Controller Tester in your web browser
- The application will automatically detect your controller
- Test buttons, analog sticks, and vibration functionality
- Visual feedback will be displayed on screen for each input
-
Clone the repository:
git clone https://github.com/yourusername/controller-tester.git cd controller-tester -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open your browser and navigate to
http://localhost:9000
controller-tester
├── src/
│ ├── assets
│ │ └── styles
│ │ └── svg
│ ├── services
│ ├── utils
│ ├── app.ts
│ ├── controller-mappings.ts
│ └── index.htmlTo build the project for production:
npm run build- Written in TypeScript
- Uses Gamepad API for controller input
- SVG-based visualization
- 30 FPS input polling
- Support for vibration API
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all testers
- SVG illustrations for controllers
For support, please create an issue in the GitHub repository or contact the maintainers.