libgamepad

Description: Game controller library
Status: Incomplete
Source: https://git.maandree.se/libgamepad
Latest release: None, not ready for use
License: ISC License (Internet Systems Consortium license)
Written in: C (ISO C99)

C library that implements game controller support. libgamepad implements not only reading input and applying force feedback, but also provides controller information such as layout details, canoncial button names, button icons, button colours, and conformity to well known controller schemes, and applies fixes such as remapping buttons and axes, and removing non-existent ones, correct axes information, and apply calibrations, it even lets you implement userspace drivers (however input reading only) if kernel drivers are missing or lacking, as long as a hidraw input device is available.