A cross-platform C++ input library for games, handling gamepads, keyboard, mouse, and touch with a unified interface.
Gainput is a cross-platform C++ input library designed for game developers, providing unified handling of gamepads, keyboards, mice, and touch inputs across multiple operating systems. It solves the problem of fragmented input APIs by offering a consistent interface while supporting both low-level device access and high-level user-defined button mapping.
Game developers working with C++ who need portable input handling across desktop and mobile platforms, particularly those building games requiring multi-device support and input remapping capabilities.
Developers choose Gainput for its minimal dependencies, lightweight design, and comprehensive feature set including network synchronization and gesture recognition, all without relying on STL, exceptions, or external libraries.
Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a consistent interface across Android, iOS, Linux, macOS, and Windows, simplifying multi-platform game development as stated in the README.
Supports both low-level device queries and high-level user-defined button mapping, enabling easy input remapping and alternative controls.
Includes recording/playback, network synchronization, and gesture recognition out-of-the-box, reducing the need for additional libraries.
Avoids STL, exceptions, RTTI, and boost, relying only on platform SDKs for a lightweight integration, as emphasized in the philosophy.
The project is explicitly archived, meaning no updates, bug fixes, or support for new platforms or SDK versions, posing a risk for long-term use.
Deliberately avoids C++11 and modern features, which might not align with contemporary C++ projects or best practices, limiting compatibility.
Requires manual CMake setup and platform-specific configurations; with no active maintenance, troubleshooting can be challenging.