NvGamepad Library

Game controller support can be problematic across multiple platforms, especially when spanning desktop and mobile. The NvGamepad library helps solve the problem of implementing cross-platform game controller support.

Both Windows and Android provide C-code APIs for game controllers, but they tend to be very different, even at the architectural level. As a result, many games moving from desktop to mobile may be tempted not to bring over their existing gamepad support. With the growing number of Android-based gaming systems such as NVIDIA SHIELD and other gaming handhelds and micro-consoles, gamepad support on mobile is an increasingly important differentiator.

NvGamepad is a simple C++ library that provides an application developer with a cross-platform gamepad-reading (buttons and axes) class and multiple implementation classes. The implementation classes (one for each supported platform) are designed to be easy to integrate into the particular user-input handling idiom of that platform. The code consuming the gamepad events sees and knows nothing of the platform implementation.

The library is designed to be integrated, modified and expanded by developers as they see the need. The full source code of the library is available, and NVIDIA's own cross-platform OpenGL Graphics and Compute Samples use the class for input handling.

Available documentation

NVIDIA® GameWorks™ Documentation Rev. 1.0.220830 ©2014-2022. NVIDIA Corporation and affiliates. All Rights Reserved.