Print E-mail

iAuxINP_small


iAuxINP is a cross-platform C++ input device API library that provides unified interface to operate with input devices on multiple platforms without a single #ifdef. iAuxINP handles Mouse, Joystick, Gamepad, XInput, and Keyboard devices. iAuxINP introduces portable and also fully unified interface for the Force-Feedback effects which can be controllable by iAuxDEV developer's GUI front-end during run-time.

 

Portable

iAuxINP input device library was designed to offer extremely portable and universal access to input device events at minimal cost for the developer. It offers variety of choice how to collect input device events and how to process them. Its internal core provides polling or thread-event based portable approaches.

 

Force-Feedback

Besides just collecting events from input devices iAuxINP library offers universal access to Force-Feedback functionality of input devices for any supported platform. It is not needed to learn how every platform implements Force-Feedback support as iAuxINP removes any differences and makes Force-Feedback devices alive with a minimal programming effort.

 

Effect Banks

iAuxINP provides support for force-feedback effect banks. Effect banks make it easier to operate with multiple effects by combining them into groups. Effect banks can be stored in form of file or any other binary form which is wrapped by IFile interface.

 

GUI Front-End

iAuxINP operations can be controlled by iAuxDEV developer's GUI front-end during its run-time. iAuxDEV is capable of communicating with iAuxINP through the network. iAuxDEV provides following services to iAuxINP:

  • list of available input devices discovered by application
  • list of loaded effect banks
  • list of effects which are attached to input device
  • list of effects which are not attached but available through effect bank
    • effects manipulation:
    • modify parameters
    • trigger effect remotely by GUI
    • create new effect with possibility to trigger it in target application
    • save to effect bank
    • copy over existing effect from one input device to another
    • copy over existing effect from effect bank
  • banks manipulation:
    • save
    • load
    • create new
    • modify parameters of existing bank effects
    • reorder effects in banks
inpdev-screen

iAuxDEV allows to debug and tune force-feedback effects during run-time of application without restarting it. It save time of development and improves quality of final result as modifying and applying effect parameter changes is couple of mouse clicks in GUI.

 

Features

  • Supports device types: Keyboard, Mouse, Joystick, Gamepad, XInput.
  • Force-Feedback effects (custom, condition, periodic) and features (gain, auto-centering).
  • Effect banks from sources: file, memory, other binary forms through IFile interface.
  • GUI front-end to debug and handle force-feedback effect changes during application run-time.
  • Low latency of events delivery from hardware to application level.
  • Multi-threaded or threadless core design.
  • Different models of effects delivery:
    • polling (per device/event type);
    • thread-event (per device/event type);
    • direct event sniffing.
  • Unique event translator - combines multiple raw input events into a single higher-level and more convenient 'translated' input event.
  • Event type structures are compatible with DirectInput event structures.
  • Input device enumeration with possibility to detect newly plugged or unplugged devices.
  • Ideally cooperates with other iAuxSoft libraries in the same root namespace.
  • OS: Windows XP/Vista/7 (32/64 bit), Linux (32/64 bit), MacOSX 10.5.x (32/64 bit).