Input Test App is a comprehensive testing application for racing wheels and other gaming input devices. It provides detailed input visualization, force feedback testing, and device calibration capabilities in a user-friendly interface.
Note: This project is currently a Work In Progress (WIP)
- Real-time monitoring of all wheel axes (steering, throttle, brake, clutch, and shifter)
- Visual representation of all controller buttons with active state indication
- Customizable input sensitivity and deadzone settings
- Support for multiple force feedback effect types:
- Constant force
- Spring effect
- Damper effect
- Friction
- Sinusoidal
- Sawtooth
- Rumble
- Collision simulation
- Adjustable force intensity and duration
- Global strength control for all effects
- Manual Mode: Test wheel inputs directly with visual feedback
- Automatic Mode: Run predefined test patterns on axes and buttons
- Recording Mode: Record input sequences for later playback and analysis
- Automatic detection of racing wheels and similar input devices
- Support for calibrating individual axes
- Detailed device information display
- Logging system with configurable verbosity
- Configuration saving/loading
- Performance monitoring
- Cross-platform compatibility (Windows, Linux, macOS, PlayStation 5)
- Built with SDL2 for cross-platform input handling
- ImGui-based user interface
- Force feedback powered by SDL Haptic API
- Modular architecture for easy extension
- SDL2 and SDL2_renderer libraries
- C++11 compatible compiler
- CMake 3.10+ for building
mkdir build
cd build
cmake ..
makeLaunch the application and it will automatically detect connected racing wheels. If no compatible device is found, it will run in demo mode.
The main interface is divided into collapsible sections:
- Device Information: Details about the connected device
- Axes: Visualization and calibration for each axis
- Buttons: Interactive display of all controller buttons
- Force Feedback: Testing interface for haptic effects
- Test Settings: Configure and run test modes
- Statistics: Performance data and logging options
- Controller profile support for saving/loading device-specific settings
- Advanced FFB testing with custom pattern creation
- Expanded support for specialized racing peripherals (pedal sets, shifters, handbrakes)
- Integration with racing simulations for in-game testing
This project is licensed under the MIT License - see the LICENSE file for details.
- The ImGui team for the excellent immediate-mode GUI library
- SDL developers for the comprehensive input and haptic feedback APIs
- The racing simulation community for inspiration and testing
