Skip to content

Releases: xan105/InputFusion

InputFusion

04 Apr 16:14
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Changelog

v0.4.0

  • Update SDL3 to 3.4.4 (Stable)
  • Some logging improvements and debug DLLs now also create a log file: InputFusion.log
  • Enable SDL_HINT_JOYSTICK_ENHANCED_REPORTS by default

    Enhanced reports allow rumble and effects on Bluetooth PlayStation controllers and gyro on Nintendo Switch controllers

  • When hooking or reimplementing a gamepad API, automatically disable the corresponding gamepad API within SDL to avoid conflicts with SDL’s internal usage
  • GAMEPAD_API_DINPUT8=HOOK is now only supported in dinput8.dll and InputFusion.dll

    If you need to hook more than one API, please use InputFusion.dll (injection)

🎮 APIs:

  • GameInput
    • Added GameInput as compilation and hook target

      GameInput is just a stub for now

  • XInput
    • Wait for SDL when not ready instead of returning an error
    • Better dwPacketNumber handling in XInputGetState/Ex()
    • Improved precision when converting SDL trigger axis: before had bias toward lower values
    • Removed some capabilities set in XInputGetCapabilities/Ex()
    • XInputGetCapabilitiesEx() returns Xbox VID/PID
    • Added GAMEPAD_API_XINPUT_DEVICE_CONNECTED=ALWAYS env. var. flag

      This helps with games that do not properly handle gamepad disconnection ("hot reload").

  • WinMM
    • Wait for SDL when not ready instead of returning an error
    • joyGetDevCaps() always returns driver information regardless of gamepad presence

      This helps improve "hot reload" support (eg: gamepad connected after the game is started)

    • joyGetDevCaps() returns Xbox VID/PID only when GAMEPAD_API_WINMM_LAYOUT=XBOX

      Some games may change their axes reading depending on vendor id (ex: Peter Jackson's King Kong)

  • DInput/8
    • Wait for SDL when not ready instead of returning an error
    • IDirectInput8::FindDevice() partially implemented

Minimum system requirements

Downloads

InputFusion

13 Sep 06:20
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Changelog

v0.3.0

  • Update SDL3 to 3.2.22 (Stable)
  • Fix XBOX Controller crash (#12):
    • Disable RAWINPUT for now, due to some allegedly Windows regression.
    • Use WGI instead to fix the crash issue and keep full Xbox controller features support.

APIs:

  • WinMM
    • Fix: returning wrong neutral value for some axes
    • Fix: message based API > Coerce value to min/max interval instead of error
    • Update default gamepad layout
  • DInput/8
    • Added DInput (1-7) support
    • Improved DInput8 support
      DInput (1-7) is based on top of the DInput8 implementation
      DInput8 and thus 1-7 are still lacking and experimental: your mileage may vary, as they say.

Minimum system requirements

Downloads

InputFusion

24 Jan 06:22

Choose a tag to compare

Changelog

v0.2.0

  • Add support for WinMM Joystick API
  • Add experimental support for DInput8 API (very barebone and incomplete)
  • Rebase XInput API "non-Ex version" to their "Ex-version" counterpart.
  • Add multiple build targets (InputFusion, XInput, WinMM and DInput8)
  • Rebase against SDL3 first stable release (v3.2)
  • Properly close SDL on game exit:
    • Not properly closing SDL could result in leaks and the inability to reset LEDs status.
  • Switch to SDL_log() for debug message
  • Tweaks some SDL defaults hint (API usage):
    • This helps to prevent SDL using InputFusion's implementation of DInput8/Xinput when detouring DInput8/Xinput.
  • Improve detouring in multi-threaded scenario (ie: no game crash/freeze)
  • Add option to set DS4/5 LEDs as battery level

v0.1.0

  • Initial release

Minimum system requirements

InputFusion

29 Nov 02:47

Choose a tag to compare

Changelog

v0.1.0

  • Initial release

Minimum system requirements