Releases: samuelgr/Xidi
Xidi v4.2.0
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).
Xidi v4.1.1
Xidi v4.1.0
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.
Xidi v4.0.3
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).
Xidi v4.0.2
Resolved some API compatibility issues with certain games and added support for workarounds for handling incorrectly-coded applications.
Xidi v4.0.1
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.
Xidi v4.0.0
New features in this release:
- Force feedback/controller vibration support.
Other changes:
- Various fixes and compatibility improvements.
- Logging improvements to aid with debugging.
Xidi v3.1.0
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
Xidi v3.0.0
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.
Xidi v2.0.0
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).