A MonoGame 3.8.4 sample project that displays live input values for all connected game controllers. This project demonstrates how to handle gamepad input, display controller capabilities, and provide an interactive interface for testing controller features.
- Real-time display of gamepad input values (buttons, triggers, thumbsticks)
- Support for up to 4 connected controllers
- Controller capability detection and display
- Dead zone configuration and visualization
- Cross-platform support for Windows, DesktopGL, and Android
This project has been modernized to use .NET 8.0 SDK-style projects with MonoGame 3.8.4 NuGet packages:
InputReporter.Windows.csproj- Windows DirectX version (net8.0-windows)InputReporter.DesktopGL.csproj- Cross-platform OpenGL version (net8.0)InputReporter.Android.csproj- Android version (net8.0-android)
Due to .NET SDK limitations with multi-targeting across different platforms, separate solution files are provided:
InputReporter.sln- Main solution with DesktopGL (cross-platform)InputReporter.Windows.sln- Windows-specific solutionInputReporter.Android.sln- Android-specific solution
- .NET 8.0 SDK or later
- For Android: Android SDK and workload (
dotnet workload install android)
dotnet build InputReporter.sln# Windows
dotnet build InputReporter.Windows.sln
# DesktopGL (Cross-platform)
dotnet build InputReporter.sln
# Android
dotnet build InputReporter.Android.sln# Windows
dotnet build InputReporter.Windows.csproj
# DesktopGL
dotnet build InputReporter.DesktopGL.csproj
# Android
dotnet build InputReporter.Android.csprojdotnet run --project InputReporter.DesktopGL.csprojdotnet run --project InputReporter.Windows.csprojDeploy to device or emulator using Visual Studio or command line tools:
dotnet build InputReporter.Android.csproj -t:RunThis project includes VS Code configuration for building and debugging:
- Open the folder in VS Code
- Use
Ctrl+Shift+Pand run "Tasks: Run Task" - Select the appropriate build/run task:
build-desktopgl- Build cross-platform versionbuild-windows- Build Windows versionbuild-android- Build Android versionrun-desktopgl- Run cross-platform versionrun-windows- Run Windows version
- Use F5 to debug with the configured launch configurations
Open the appropriate solution file in Visual Studio:
InputReporter.slnfor cross-platform developmentInputReporter.Windows.slnfor Windows-specific developmentInputReporter.Android.slnfor Android development
- DPAD/Left Stick: Navigate between connected controllers
- A Button: Toggle dead zone settings
- B Button: Exit application
- Right Trigger: Charge exit switch (hold to exit)
The project uses pre-built XNB content files located in the Content folder. No Content Pipeline build step is required as the project has been configured to use existing compiled assets.
- Uses MonoGame.Framework.DesktopGL
- Cross-platform (Windows, Linux, macOS)
- Requires OpenGL support
- Most compatible across different systems
- Uses MonoGame.Framework.WindowsDX
- Windows-only with DirectX support
- Better performance on Windows systems
- Uses MonoGame.Framework.Android
- Minimum Android API level 21
- Includes AndroidManifest.xml configuration
- Content files are included as Android assets
- Requires Android development workload
- MonoGame.Framework 3.8.*
- MonoGame.Content.Builder.Task 3.8.*
- .NET 8.0
This project has been updated from the original MonoGame sample to use:
- .NET 8.0 SDK-style projects
- MonoGame 3.8.4 NuGet packages
- Modern project structure with platform-specific entry points
- Removed legacy #region directives for cleaner code
- VS Code integration with tasks and launch configurations
This sample is provided as-is for educational and reference purposes.