Nice Input Library
NIL is a gaming input library for Windows, inspired by the Open Input System.
Platform
Supported platforms are Windows Vista and newer. XP is not supported.
Building
NIL is written in C++11, and by default builds as a statically linked x64 library under Visual Studio 2012.
NIL uses certain APIs from the Windows Driver Kit, so the WDK is required for compiling.
Technology
NIL utilises three different input APIs to achieve best possible input from different types of devices:
- Raw Input API for all mice & keyboard input, with zero lag and no special key weirdness
- XInput API for XBOX 360 controller input
- DirectInput API for all other joysticks & gamepads
NIL can tell apart every input device connected to the computer, including keyboards and mice.
Multi-keyboard and multi-mice input support is, for once, a breeze.
NIL is fully based on Plug-and-Play support: It knows when devices are connected and disconnected
from the computer, and remembers previously-connected devices when reconnected.
Additionally, NIL is capable of receiving direct input from the G-keys of certain Logitech Gaming keyboards & mice.
NIL is single-threaded, buffered and fully listener-based.
Todo
- Force feedback support.
License
NIL is licensed under the MIT license.
For full license text, see the LICENSE file.
Logitech SDKs under the external folder are property of Logitech.
See the Logitech SDK documentation files for licensing specifics.