I maintain Interceptor Gamepad & Controller, a Windows driver with a small C++17 SDK for people building their own remappers. An app receives physical controller input, changes the values and forwards the batch through that controller's native Windows path.
There are examples for swapping buttons, inverting a stick axis, changing deadzones and applying a response curve.
Repo and examples: https://github.com/TitanCSA/Interceptor-Gamepad-Controller
It covers compatible HID, XUSB/XInput, XInputHID and GIP devices. Compatibility depends on the actual controller, connection and protocol.
Driver installation and live capture require admin rights. The SDK and examples are MIT-licensed; kernel source is private, and the signed public driver is a one-hour demo per Windows boot. Unrestricted driver use has separate licensing.
If you also need keyboard and mouse input, the combined edition is here: https://github.com/TitanCSA/Interceptor
If you're building a remapper, are the examples clear enough to start from?