iAuxINP: input engine is the programming library for Input sub-system for C++ development of games and other software. It handles common input device types: Mouse, Keyboard, Joystick, Gamepad and similar. While input device handling differs from platform to platform, iAuxINP hides all aspects and peculiarities and provides unified behavior on all supported platforms.
Asynchronous
iAuxINP: input engine has fully asynchronous internal core which effectively polls input device state and delivers resulting event to user-space. High frequency of device state scanning provides very smooth value changes.
Unified API and Data
iAuxINP: input engine's API is unified for all supported platforms. Input device event's data values are also unified to provide portability as in behavior, so in value range.
Universal Data Delivery
iAuxINP: input engine supports different convenient methods for input device events delivery to user-space:
- Polling (device groups, or individual)
- Blocked waiting (device groups)
Force-Feedback
iAuxINP: input engine supports force-feedback devices. It provides universal force-feedback effect structure and unified data values range. Force-feedback functionality is enhanced by iAuxDEV: GUI Tool, a special GUI toolkit, which allows to debug and tune effects during application run-time.
- Static: constant, ramp, custom
- Condition: spring, friction, damper, inertia
- Periodic: square, triangle, sine, saw-up, saw-down
- Motor: XInput native, emulation for non-XInput
Effect Banks
iAuxINP: input engine extends force-feedback support by implementing special effect banks. Effect banks provide effect grouping functionality and can be stored in form of file. iAuxDEV: GUI Tool supports bank's creation and management.
GUI Toolkit
iAuxINP: input engine's functionality is extended by additional GUI application - iAuxDEV: GUI Tool. iAuxDEV connects to application remotely by network and allows real-time debugging and management of force-feedback effects.
Features
- Supports: Keyboard, Mouse, Joystick, Gamepad, Driving Wheel and XInput devices.
- Low latency event delivery
- Asyncronous core
- Force-feedback
- XInput force-feedback motor effect and its emulation on non-XInput devices.
- Effect banks
- Remote effect's debugging with iAuxDEV: GUI Tool
- Universal event delivery: polling, blocked waiting
- High-level event translator
- Data values compatible with DirectInput
- Interface: C++ with inline documentation of functions, interfaces, parameters
- Compiler: Microsoft Visual C++, GNU Compiler Collection (GCC), Intel C/C++
- Platform:
- PC: Microsoft Windows (XP SP2, Vista, 7), Linux, Apple Mac OS X
- Mobile: under development
- Console: available by request


