Releases: xan105/InputFusion
Releases · xan105/InputFusion
InputFusion
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_REPORTSby defaultEnhanced 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=HOOKis now only supported indinput8.dllandInputFusion.dllIf 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
- Added GameInput as compilation and hook target
- 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=ALWAYSenv. var. flagThis 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=XBOXSome 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
- Windows 10
- Visual C++ Redistributable Package (vcredist)
Downloads
InputFusion.7z(Recommended)Addon.for.GoldbergEmu.7z: this is a special build intended to be used with goldberg_emulator or Detanup01/gbe_fork
InputFusion
Changelog
v0.3.0
- Update SDL3 to 3.2.22 (Stable)
- Fix XBOX Controller crash (#12):
- Disable
RAWINPUTfor now, due to some allegedly Windows regression. - Use
WGIinstead to fix the crash issue and keep full Xbox controller features support.
- Disable
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
- Windows 10
- Visual C++ Redistributable Package (vcredist)
Downloads
InputFusion.7z(Recommended)GoldbergEmu_XInput_2_SDL.7z: this is a special build intended to be used with goldberg_emulator or Detanup01/gbe_fork
InputFusion
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
- Windows 10
- Visual C++ Redistributable Package (vcredist)
InputFusion
Changelog
v0.1.0
- Initial release
Minimum system requirements
- Windows 10
- Visual C++ Redistributable Package (vcredist)