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.