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.