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.html
To 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.