3.0.18 / 17-08-2021

DS4Windows

Accuracy

Performance

Features

competition

DS4Windows is a portable program that allows you to use a PlayStation DualShock 4 on your PC by emulating a Xbox 360 controller. This project is actually a fork of the work of Jays2Kings, which can be found on the old project website at ds4windows

...

Most Recent Changes

--3.0.18--

  • Added output Stick and Axis options for Gyro Mouse Joystick

  • Use TabControl to contain gyro output panels. Simplifies XAML

  • Re-enabled DS4 emulation support



--3.0.17--

  • Added fake DS4 FrameCounter field for DualSense, Switch Pro and JoyCon devices

  • Increased default Idle Disconnect time to 15 min

  • Disabled DS4 controller emulation support. Can't have nice things

  • Only perform output slot lookup in virtual device plugin routine when emulating a controller

  • Check for device removal status before adding device to main view list. Fixes initial Switch Pro disconnect on hotplug when controller battery is dead



--3.0.16--

  • Changed mapper to copy timestamp data from original input state object. Used for DS4 Gyro Passthru



--3.0.15--

  • Changed ControllerListViewModel locking strategy for non-Sony DS4s that might fail the initial handshake

  • Removed OnlyInputData0x01 hack for fake DS4 controllers (fake DS4 using Sony VID+PID combo)

  • No longer provide support for knockoff fake DS4 controllers

  • Changed Lightbar TabItem in Profile Editor to use embedded TabControl

  • Added warning text for Lightbar Passthru mode stating the old feature is currently disabled

  • Fixed combo box cutoff in Dark theme. Contribution by Sajidur78

  • Updated Brazilian Portuguese translation pack. Contribution by nelitow0.15



--3.0.14--

  • Updated FakerInputWrapper libraries for F13 - F24 key support

  • Added F13 to F24 keys for FakerInput mapping

  • Decreased button wheel delta. Increased button wheel sensitivity. Now uses 150 ms for time delta

  • Updated FakerInputWrapper libraries. Fixes array bounds check for KeyboardReport

  • Fixes for Stick Outer Btn bindings

  • Added ManagementException catch for initial connection. Apparently it can be thrown in that call.

  • Expanded max output limits for LS and RS

  • Re-design dark theme and use theme colors in AutoProfiles. Contribution by Sajidur78

  • Changed DualSense trigger Full Click resistance depending on profile settings

  • Changes to better handle connection failure for Switch Pro and JoyCon devices



--3.0.13--

  • Another fix for EnhancedKey usage for FakerInput mapping

  • Bundled PurgeOldXInput 0.1.2



--3.0.12--

  • Removed old Input Curve options

  • Corrected coordinate system for Stick to Mouse Wheel

  • Fixed saving of Max Output Force options

  • Expand output for Gyro Mouse Joystick Max Output routine. Make sure maximum output can be achieved. Likely would not achieve a completely straight line when using Gyro.

  • Expanded macrodone array. Fixes some macro bindings for later virtual buttons

  • Added 'Hide DS4 Controller' option back in again

  • Increased button mouse wheel delta. Decreases wheel sensitivity

  • Unified late profile options checks

  • Increased resistance range for DualSense trigger Full Click



--3.0.11--

  • Group and move Virtual Controller options in Other tab. Contribution by Kanuan

  • Fixed MODIFIER_ENHANCED value for FakerInput mapping

  • Fixed Alt, Windows, and other modifier keys mapping for FakerInput

  • Fixed Stick to Mouse Wheel routine for SendInput output

  • Fixed tray menu profile selection for names with underscores

  • Added many tooltip strings in Profile Editor

  • Fixed RenameProfileWindow closing early due to early DialogResult assignment. Property calls Close on the Window

  • Removed BitChute social link

  • Fixed display of CheckEveryUnit combobox in Settings tab. Not sure when VS changed that portion of the XAML

  • Removed obsolete 'Hide DS4 Controller' option again. Can't have options

  • Added ScrollViewer to Other tab in Profile Editor. Enough controls in tab to justify it

  • Added force option for LS and RS MaxOutput. Allow 100% forced circular max output for sticks

  • Made Capture, SL, and SR buttons mappable

  • Created Outer Button bindings for LS and RS. Allows extra distance action for the sticks like Walk or Sprint

  • Display Touchpad X and Y in Controller Readings tab

  • Increased HID report input buffer to 3 rather than 2. Not sure it will really matter

  • Disabled broken DS4 feedback support again. Can't have semi-nice things. Don't bring it up again until at least the next ViGEmBus driver update

  • Added change to not send Profile loaded message for secondary JoyCon in Joined mode



--3.0.10--

  • Removed virtual device plug/unplug delay

  • Removed Dispatcher and thread from OutputSlotManager

  • Another fix to hopefully sort out Special Action items properly

  • Allow profiles to be renamed from within app using Profiles tab

  • 'Hold for X secs' special actions now support decimal values. Contribution by mika-n

  • DeviceOptions has a new 'Verbose log messages' option. Contribution by mika-n

  • Fixed coordinate system for Stick to Mouse Wheel calculations

  • Reset mouse position for FakerInput on Sync method. Fixes some mouse related actions conflicting with FakerInput output handler

  • Updated Touchpad scroll support to use new coordinate system

  • Updated Strings.ru.resx. Contribution by shikulja



--3.0.9--

  • Fixed obtaining source index item for Special Action list

  • Allow Touchpad Click as an output for Macros

  • Delay log message for virtual device association

  • Updated ViGEmPluginFailure message to make reference to PurgeOldXInput utility

  • Added PurgeOldXInput utility to Tools folder. Might be useful for deleting invalid virtual Xbox 360 controllers

  • Updated Japanese translation. Contribution by toshixm

  • Updated Czech translation. Contribution by MikeCZ23

  • Bundled DS4Updater 1.5.5

--3.0.8--

  • Fixed Special Action sorting to sort by user defined Action name

  • Removed support for HidGuardian completely. HidHide is the only supported HID device blocking driver now



--3.0.7--

  • Added slot# log messages to a gamepad connect/disconnect handler and 'permanent' slot debug msg. Contribution by mika-n

  • Small special action fix when action trigger is somehow flagged as None

  • Added support for virtual KB+M driver FakerInput v. 0.1. Needed to play Valorant and other apps that block SendInput events.

  • Sort Special Action list by action name

  • Fixed event order issue that caused output slots to not get disconnected

  • Reduced mouse remainder cutoff to the hundredths place

  • Fixed OutSlotDevice check to make sure Permanent slots are detached on service stop



--3.0.6--

  • Re-compiled program and tools. Signed binaries

  • Almost identical to version 3.0.5



--3.0.5--

  • Fixed copying of app config file for fake named exe

  • Now copy deps file for fake named exe

  • Fixed initial Config folder selection dialog when multiple configs (Program Folder and AppData) are found. Make sure to display option to delete one of the configs

  • Updated DotNetProjects.Extended.Wpf.Toolkit to version 4.6.97

  • Updated MdXaml to version 1.10.0

  • Updated NLog to version 4.7.9

  • Check if DS4Windows program folder is actually AppData subfolder when locating program config. Treat case as Program Folder option

  • Added All Files option for Launch Program special action File Dialog. Use Explorer to launch associated program for an arbitrary file

  • Bundled HidNinja 0.3.2

  • Bundled XInputChecker 0.1.2



--3.0.4--

  • Support for DS3 gamepad as vendor defined device over DsHidMini driver. Contribution by mika-n

  • Now issue immediate virtual device unplug upon Windows suspend

  • Changed ViGEmBus lookup routine to perform a list based lookup for potential drivers. Attempt to discover newest version from version info

  • Changed ViGEmClient library to attempt to connect to newest available version of ViGEmBus on a system rather than the first version found

  • Set all controller slots to use the Default profile initially when making a new config

  • Immediately issue unplug of all virtual controllers when pressing main Stop button

  • Initial implementation of HidHide integration. Display key icon for HidHide hidden device. Insert DS4Windows.exe into whitelist at startup if necessary

  • Changed method of obtaining current executable file location. Needed due to assembly changes in .NET 5 breaking support for custom exe filenames

  • Added HidHide installer link to Welcome dialog window

  • Added HidHide Configuration Client app link in Settings tab

  • Hide HidNinja link in Settings tab if HidGuardian is not installed

  • Show the text value of 'Max Saturation' lightbar setting. Contribution by sabihoshi

  • Changed Launch Program special action to use UseShellExecute


--3.0.3---

  • Fixed Open Program Folder link in tray menu

  • Lessen ViGEmBus restriction for now. Allow connecting to ViGEmBus 1.16.112.0. PLEASE DON'T MAKE ME REGRET THIS.


--3.0.2--

  • Use UseShellExecute for ProcessStartInfo in more places for .NET 5 changes

  • DS4Windows updater message update. Contribution RedDevilus

  • German translation update. Contribution by jmg2k

  • Added Portuguese (Portugal) translation. Contribution by joaopedrogome

  • Add cmd line command for 'Change led color'. Contribution by bernspedras

  • Muted blues used in Dark theme. Contribution by AnessZurba

  • Added some exception handling for XML in ProfileMigration

  • Added output controller option to Preset Window for certain Presets. Change profile values based on output controller type.

  • Added some precautions for possible empty devicePath string

  • Changed GroupBox template for Dark theme

  • Now enforcing ViGEmBus minimum supported version. Targetting ViGEmBus 1.17.333.0

  • Fixed ProcessStartInfo for ViGEmBus installer launching with .NET 5

  • Refresh internal data about ViGEmBus on service startup


--3.0.1--

  • Fixed launching of HidGuardHelper for .NET 5 usage

  • Fixed URL string generation for updater version redirect on download failure

  • Fixed a few typos in the English strings. Contribution by instilledbee

  • Bundled HidGuardHelper 0.2.0


--3.0.0--

  • DS4Windows now targets .NET 5

  • Changed ViGEm libraries to target .NET Core 3.1

  • Now use MdXaml rather than Markdown.Xaml for Changelog text rendering

  • Removed Newtonsoft.Json library dependency

  • Removed use of .NET 5 Runtime check nag window

  • Fixed UDP Server locking device input in .NET 5. Caused by API change for SocketAsyncEventArgs

  • Moved app config loading to occur after logger is created

  • Change extras flag to take current DS4Control into account

  • Added additionalProbingPaths to runtimeconfig.json

  • Use UseShellExecute for ProcessStartInfo. Due to Process.Start change in .NET 5

  • Added newer bat self deletion routine. Make sure to return 0 status code in process when performing bat self-delete


--2.2.15--

  • Ignore duplicate device when in Shared mode

  • Added extra processing to Version string for .NET 5 and later. Expecting Microsoft to use their own standard was a mistake

  • Changed URL used for .NET 5 Runtime download


--2.2.14--

  • Implemented stick vertical scale

  • Reduce attribute checks for stick interpretation

  • Check for minimum .NET version on startup. Temporary measure warning about future upgrade

  • Last version of DS4Windows to target .NET Framework. Next version will target .NET 5


--2.2.13--

  • Have device hotplug routine enforce profile settings when using a temp auto profile

  • Bundled DS4Updater 1.4.7


--2.2.12--

  • Fixed CRC32 error counter for DualSense device class

  • Fixed bad copy pasta regarding device setting wheel calibration saving

  • Added error checking with device wheel calibration loading

--2.2.11--

  • Implemented newer feedback handler routine for virtual DS4 devices. Added virtual DS4 rumble back in

  • Now sure to use continuous calibration routine for non-DS4 devices

  • Changed severity of ViGEmPluginFailure message. Now indicates that a user should probably reboot Windows if it happens

  • Fixed JoyCon R Gyro Roll. Old value was inverted

  • Copy modified JoyCon current state for use in UDP server

  • Only display device in UDP server if it is a primary device. Mainly needed due to JoyCon R in Joined JoyCon mode

  • Added exception catching when saving Actions xml file. File corruption will now cause the file to be written from scratch

  • Use Task error log helper for some background service tasks. Allows some extra possible error messages to show up in the Log

  • Simplify UDP motion event creation. Allow motion event to be created when enabling UDP server

  • Make Flash at High Latency default to 50 ms

  • Dark Theme color changes. Color contrast has been reduced. Contribution by AnessZurba

  • Skip writing device wheel calibraton nodes if empty

  • Now use estimated wheel center values if controller config has an empty entry. Problem caused some app instability and memory bloating due to excessive log messages in Log tab (over 1GB RAM usage)

  • Implemented axial dead zone and related settings

  • Fixed ColorByBattery panel visibility for first open. Contribution by MakiseKurisu

  • Changes for continuous calibration routine for Sony Wireless Adapter connections. Contribution by MakiseKurisu

  • Tweaked profile loading for some older fallback options


--2.2.10--

  • Change Disconnect command syntax to allow all wireless controllers to get disconnected

  • Increased GUI enforced max Trackball Friction value to 20.0

  • Slightly edited colors used in Dark theme

  • Disabled virtual DS4 feedback routine again

  • Allow Joined JoyCon support. Joined link mode is now the default

  • Changed L1 binding for KB+M and Gyro preset profile. Make Unbound

  • Fixed macroRecorder bug where MUTE control threw an exception because it is not in macroDS4Values array. Contribution by mika-n

  • Fixed wrong on-screen button indexes while remapping using 'readout' feature. Contribution by mika-n

  • Added artificial VID/PID for DualShock 3 running under DsHidMini drivers. Contribution by nefarius

  • Bundle HidNinja 0.2.3


--2.2.9--

  • Profile settings fuzz option hang fix. Contribution by RokasKil

  • Anti-snapback stick settings added. Contribution by RokasKil

  • .NET 5 progress complete. Will keep net5 branch updated regularly until used in public build. Contribution by sitiom

  • Fixed index out of bounds error when loading profiles in virtual output device check

  • Fixed current item selection for right click Disconnect BT

  • Removed references to Frog site. No longer posting updates there

  • Changed initial trackball velocity calculations to attempt to make numbers more uniform across devices

  • Added Disconnect command line option

  • Disable macro mode combobox when opening Macro used in a Multi-Action Button special action

  • Take out nag disclaimer window regarding Hide DS4 Controller option


--2.2.15--

  • Ignore duplicate device when in Shared mode

  • Added extra processing to Version string for .NET 5 and later. Expecting Microsoft to use their own standard was a mistake

  • Changed URL used for .NET 5 Runtime download


--2.2.14--

  • Implemented stick vertical scale

  • Reduce attribute checks for stick interpretation

  • Check for minimum .NET version on startup. Temporary measure warning about future upgrade

  • Last version of DS4Windows to target .NET Framework. Next version will target .NET 5


--2.2.13--

  • Have device hotplug routine enforce profile settings when using a temp auto profile

  • Bundled DS4Updater 1.4.7


--2.2.12--

  • Fixed CRC32 error counter for DualSense device class

  • Fixed bad copy pasta regarding device setting wheel calibration saving

  • Added error checking with device wheel calibration loading


--2.2.11--

  • Implemented newer feedback handler routine for virtual DS4 devices. Added virtual DS4 rumble back in

  • Now sure to use continuous calibration routine for non-DS4 devices

  • Changed severity of ViGEmPluginFailure message. Now indicates that a user should probably reboot Windows if it happens

  • Fixed JoyCon R Gyro Roll. Old value was inverted

  • Copy modified JoyCon current state for use in UDP server

  • Only display device in UDP server if it is a primary device. Mainly needed due to JoyCon R in Joined JoyCon mode

  • Added exception catching when saving Actions xml file. File corruption will now cause the file to be written from scratch

  • Use Task error log helper for some background service tasks. Allows some extra possible error messages to show up in the Log

  • Simplify UDP motion event creation. Allow motion event to be created when enabling UDP server

  • Make Flash at High Latency default to 50 ms

  • Dark Theme color changes. Color contrast has been reduced. Contribution by AnessZurba

  • Skip writing device wheel calibraton nodes if empty

  • Now use estimated wheel center values if controller config has an empty entry. Problem caused some app instability and memory bloating due to excessive log messages in Log tab (over 1GB RAM usage)

  • Implemented axial dead zone and related settings

  • Fixed ColorByBattery panel visibility for first open. Contribution by MakiseKurisu

  • Changes for continuous calibration routine for Sony Wireless Adapter connections. Contribution by MakiseKurisu

  • Tweaked profile loading for some older fallback options


--2.2.10--

  • Change Disconnect command syntax to allow all wireless controllers to get disconnected

  • Increased GUI enforced max Trackball Friction value to 20.0

  • Slightly edited colors used in Dark theme

  • Disabled virtual DS4 feedback routine again

  • Allow Joined JoyCon support. Joined link mode is now the default

  • Changed L1 binding for KB+M and Gyro preset profile. Make Unbound

  • Fixed macroRecorder bug where MUTE control threw an exception because it is not in macroDS4Values array. Contribution by mika-n

  • Fixed wrong on-screen button indexes while remapping using 'readout' feature. Contribution by mika-n

  • Added artificial VID/PID for DualShock 3 running under DsHidMini drivers. Contribution by nefarius

  • Bundle HidNinja 0.2.3


--2.2.9--

  • Profile settings fuzz option hang fix. Contribution by RokasKil

  • Anti-snapback stick settings added. Contribution by RokasKil

  • .NET 5 progress complete. Will keep net5 branch updated regularly until used in public build. Contribution by sitiom

  • Fixed index out of bounds error when loading profiles in virtual output device check

  • Fixed current item selection for right click Disconnect BT

  • Removed references to Frog site. No longer posting updates there

  • Changed initial trackball velocity calculations to attempt to make numbers more uniform across devices

  • Added Disconnect command line option

  • Disable macro mode combobox when opening Macro used in a Multi-Action Button special action

  • Take out nag disclaimer window regarding Hide DS4 Controller option


--2.2.8--

  • Fixed resetting of trigger values for Two Stage modes

  • Removed references to old Discord server

  • Pull gyro calibration sampling routine out to its own method

  • Fixed normal button binding to Touchpad Click output

  • Attempt to go to DS4Updater Release page if automatic download of updater failed

  • Added GitHub link to Social row in About window

  • Fixed x86 ViGEm installer URL


--2.2.7--

  • Added delay time to Gyro Directional Swipe action

  • Fixed populate of Gyro Directional Swipe and Gyro Controls triggers buttons

  • Lowered touchpad slide distance for Controls mode

  • Fixed Steering Wheel calibration Special Action saving

  • Allow resetting of extras for Trigger soft pull and full pull

  • Allow resetting Extras bound to Gyro Swipe actions

  • Now officially only support Windows 10 and later. THANKS MICROSOFT

  • Added BatteryPercentage mode for DualSense Player LED Bar

  • Fixed Switch Pro and JoyCon AccelY coordinate used by UDP Server

  • Fixed profile cancelling for the test index

  • Tweaked disable device time for Exclusive mode routine

  • Removed DynamicResource lookups for Special Action Editor

  • .NET 5 port in progress

  • Added App instance check to work around Design mode in .NET 5.0

  • Changed Browse Programs fallback value in Profile Editor for .NET 5.0

  • Changed method to strip null terminated strings

  • Added Gyro Calibration button to Gyro Mouse StackPanel

  • Updated ViGEmClient library to use notification queue

  • Fixed critical notification callback bug in ViGEm.NET library

  • Bundled DS4Updater 1.4.6

  • Added updated ScpVBus build


--2.2.6--

  • Fixed Gyro Mouse Joystick trigger selection

  • Corrected Gyro Mouse and Gyro Mouse Joystick toggle flags

  • Put Gyro Calibration button in other Gyro mode panels

  • Added Mute LED mode for DualSense device options

  • Fixed default virtual Touchpad button bindings

  • Corrected Special Action regression

  • Including updated ScpVBus build

  • Fixed sync between button mouse sens and active mouse sens in Profile Editor

  • Changed DualSense blanking flags used for initial connection and detach

  • Now use defined ControlActionData for mapped actions rather than unboxing object references. Speeds up the mapping routine a good amount.

  • Hebrew translation added to project file. Translation was never added in

  • Allow Gyro triggers for Gyro Controls mode

  • Reset Gyro Controls output accel values to 0 for each poll

  • Driver installer window now takes arch into account when downloading the latest ViGEm installer. It uses a different setup file for each arch

  • Disable Xbox 360 installer button in Welcome Dialog if running on Win8 or greater

  • Added toggle mode to Gyro Controls

  • Added ScrollViewer for Gyro tab

  • Increased Full Click trigger effect resistance a bit

  • Use fake HW serial to index SonyWA connections. Should allow multiple Sony dongles to work

  • Allow audio volume searching for Nacon Rev Pro v.2 controller.

  • Added DS4 setting to attempt to change output report features for copycat controllers


--2.2.5--

  • Fixed SelectedValue display in Dark theme for some dynamic ComboBox controls

  • Added Gyro Directional Swipe output mode

  • Updated ScpVBus build with version 2.2.4 changes


--2.2.4--

  • Added an extra precaution to unplug any permanent output devices upon service stop. ViGEmBus should handle this already but just want to make sure.

  • Updated Polish translation. Contribution by gregory678

  • Changed locking strategy for ControllerSlotManager collection

  • Fixed right click disconnect slot index for new sorted list

  • Implemented a variant of Two Stage Triggers

  • Added Trigger effects presets. Currently only useful for the DualSense controller

  • Added averaging gyro calibration upon device connection. Contribution by firodj

  • Skip unknown DS4Controls names while loading a profile

  • Fixed issue with missingSettings being set for fallback value lookup on Profile load. Constantly re-saved profiles

  • Only reset outDevTypeTemp on full profile save. Ensured proper controller image is used in Binding window after clicking Apply in Profile Editor

  • Change arrangement of lit LED lights for DualSense controller

  • Allow Touchpad Click button passthru with Mouse and Controls mode

  • Changed device type settings. Now use device specific (serial) settings. Now saved to ControllerConfigs.xml

  • Added check for valid output report types upon DS4 BT device connection. Can revert to using output report 0x11 if needed. Not sure if it will matter

  • Ignore output plugin routine and other calls if requested profile file does not exist


--2.2.3--

  • Have app ignore embedded color profile for rainbowCCrop image. Fixes Profile Editor crashing app on some systems

  • Supports .BAT/.CMD batch scripts in specAction LaunchProgram. Contribution by mika-n

  • Added Hebrew translation. Contribution by avsha114

  • Corrected Touchpad Resolution Y Max for DS4 and DualSense

  • Fixed crash when right click disconnect is done twice and GUI has not changed yet. More of a pre-caution than anything

  • Gioteck VX4 gamepad support. Contribution by mika-n

  • Fixed passthru panels showing up properly for Touchpad and Gyro

  • Pushing half-baked controller options window

  • Change DupBox placeholder text behavior

  • Removed Parler link from About window for now. RIP Parler

  • Now use device specific Gyro Mouse sensitivity values

  • Decreased sensitivity of DualSense Gyro Mouse slightly

  • Added placeholder help text for window title auto profile field

  • Fixed window style for Updater window

  • Allow Home LED to be disabled for Switch Pro and JoyCon

  • Fixed app config loading. Stopped extra config saves on program launch from missingSetting being set unintentionally

  • Added more white variation of images for use in Dark theme

  • Make custom Bezier curve perform circular interpolation rather than per axis

  • Use ControlService event dispatcher for synchronization on device unplug

  • Fixed Gyro Mouse and Mouse Joystick Smoothing panels visibility in Profile Editor under certain scenarios

  • Fixed a bug in autoProfile set Path handler. Contribution by mika-n

  • Lowered default rumble emulation strength of DualSense controller

  • Allow configurable rumble strength setting for DualSense controllers. Will likely change later

  • Now use player LEDs on Switch Pro, JoyCon, and DualSense controllers. Used to display input device slot number

  • Display input slot number in controller list

  • Now sort main controller list by device index

  • Changed output device pluging routine. Stop DS4Windows service if ViGEm device connect call fails

  • Changed default dead zone for KBM profile templates

  • Only output DS4 touchpad button click when in Passthru mode

  • Make sure to refresh gyro mouse smoothing combobox indexes after loading from a preset

  • Bundled DS4Updater 1.4.5


--2.2.2--

  • Put lock block in for DS4 USB output routine

  • Import newer ViGEm.NET libraries for ViGEmBus 1.17.333.0 extended support

  • Allow passthru of Touchpad and Gyro to output virtual DS4. Requires ViGEmBus 1.17.333.0 and Windows 10

  • Put note about DS4Windows assembly architecture in Log. Needed to diagnose Exclusive mode problems.

  • No longer reset X360 report data each gamepad poll

  • Fixed Touchpad Swipe and Gyro Tilt controls index values for Profile Editor controls

  • Fixed some 8 controller bugs. Make sure to save set profile and load setting

  • Don't reset auto profile flags on device removal

  • Sort auto profile list by app file name

  • Allow binding to Mute button in Special Action editor

  • Added DualSense Mute button to Gyro and Touchpad triggers

  • Allow Mute button as a Shift Trigger

  • Use a WrapPanel for Utils section

  • Fixed crash on Windows 7 when attempting to download ViGEm installer. Side effect of targeting .NET Framework 4.8

  • Remove Aero2 assembly reference

  • Changed output method used for Windows 7 BT DS4 devices. Forced to use Control endpoint on Windows 7

  • Have driver installer window choose different ViGEmBus installer depending on detected Windows OS install