Xidi Versions Save

DirectInput interface for XInput controllers

v4.2.0

1 year ago

Important notes:

  • As part of improving compatibility and correctness, the internal identifiers (GUIDs) that Xidi uses to identify virtual controllers to applications and distinguish between them have changed. Some applications that have been previously configured to use a Xidi virtual controller may need to be reconfigured.
  • Starting with this release, and as long as certificates continue to be reasonably available, all binaries that are part of official releases will be digitally signed.

New features and improvements in this release:

  • Many more customization options are now available, particularly surrounding deadzone and saturation (#30) but also mouse axis emulation. It is not generally necessary to use them because applications will often set these via DirectInput, but they are available for those applications that cannot (or simply do not) avail themselves of this functionality.
  • Compatibility has been increased. Xidi can work with Windows for ARM (#49, #52), and several issues have been resolved with virtual controller enumeration and especially force feedback (#48, #51).

v4.1.1

1 year ago

Improves DirectInput API compatibility with certain applications (#45) and adds additional workarounds that can be enabled in the configuration if necessary (#36, #42).

v4.1.0

1 year ago

New features in this release:

  • Mouse emulation support (#15). Controller elements can now be mapped to mouse motion and button presses.

Other changes:

  • XInput is now linked dynamically at run-time, meaning that various older versions of the XInput library are also supported. This can improve out-of-box compatibility with versions of Windows earlier than 10 (such as Vista, 7, and 8) but there is no guarantee Xidi will work properly on these versions.

v4.0.3

1 year ago

Changes and improvements this release:

  • Resolved a controller identification issue with the WinMM form that prevented some XInput-compatible controllers from being recognized as such.
  • Improved force feedback compatibility by adding some flexibility in how certain invalid force feedback effect parameters are handled (#35).

v4.0.2

1 year ago

Resolved some API compatibility issues with certain games and added support for workarounds for handling incorrectly-coded applications.

v4.0.1

1 year ago

Fixed a bug affecting initial controller state. Sometimes applications would get spurious controller input before the user actually provides a physical input on a game controller handled by Xidi.

v4.0.0

2 years ago

New features in this release:

  • Force feedback/controller vibration support.

Other changes:

  • Various fixes and compatibility improvements.
  • Logging improvements to aid with debugging.

v3.1.0

2 years ago

New features in this release:

  • Introduced two new types of element mappers
    • Compound: routes input from a single XInput controller element to multiple element mappers simultaneously
    • Invert: inverts input from a single XInput controller element and then forwards it to another element mapper
  • Added more detailed error messages in the event of failure to parse an element mapper from a configuration file

v3.0.0

2 years ago

New features in this release:

  • Keyboard emulation. Xidi can now simulate key presses. (#14)
  • XInput controller elements, such as analog stick axes, can be split into positive and negative. (#11)
  • Custom mapper types can now be defined in configuration files. (#4, #16)
  • Different mapper types can be specified for each controller.
  • HookModule form of Xidi is improved to cover WinMM situations that might require it. (#18)

Other changes:

  • Xidi now looks for its configuration file in the same directory as its own running DLL.
    • Previously, Xidi looked in the directory of the running executable.

v2.0.0

3 years ago

New features in this release:

  • Introducing the HookModule form of Xidi, which is intended to be used with Hookshot to enable Xidi to work with games that bypass direct loading of DirectInput DLLs and instead use COM. Games that do this are not common, but they exist. Tested with Legacy of Kain: Defiance (see #7).
  • New DigitalGamepad mapper type. All axes are digital, and the d-pad maps to the X and Y axes instead of the POV hat (fixes #5).

Version 2.0.0 is a significant revamp of the internals of Xidi. All of the code is far more straightforward, modular, and maintainable, and it is also much easier to create new mappers for those who are interested in doing so (addresses #4).