
DS4Windows is a transportable program that lets you get the very best expertise whereas utilizing a DualShock 4 in your PC. By emulating a Xbox 360 controller, many extra video games are accessible and you’ll play PC video games utilizing the PlayStation controller.
Features
- Use X360-like enter to make use of the DS4 in additional video games and have rumble
- Use the identical app for mapping a DS4, DualSense, Switch Pro, and JoyCon
- Use the touchpad as a mouse or for extra actions
- Use sixaxis motion for simply as many actions
- Control the Lightbar: flip it off, dynamically change by battery stage, and extra
- Map the buttons and sticks to different 360 controls or keyboard actions or macros
- Use profiles to rapidly change between configurations in your controllers
- Automatically change profiles by when a sure program(s) is launched
- Hold an motion to entry a brand new complete set of controls
- Get a studying of how the sticks and sixaxis is working
- Assign a deadzone to each analog sticks, the triggers, and the sixaxis
- Automatically get new updates
Requirements:
- Windows 10 or newer (Thanks Microsoft)
- Microsoft .NET 4.8 or greater (wanted to unzip the driving force and for macros to work correctly)
- Visual C++ 2015-2019 Redistributable. x64 or x86
- ViGEmBus driver (DS4Windows will set up it for you)
- Microsoft 360 Driver (hyperlink inside DS4Windows, already put in by Windows in case you’ve used a 360 controller earlier than)
- Sony DualShock 4
Instructions:
- Extract the two packages from zip file (DS4Windows and DS4Updater)
- Launch DS4Windows and select the place you need to save profiles
- A home windows will pop up exhibiting easy methods to set up the driving force, if not, go to settings and click on “Controller/Driver Setup”
- If you might have used SCP’s device up to now, you might have to uninstall the drivers to make use of the DS4 with Bluetooth
- Connect the DS4 by way of a micro usb or by bluetooth (DS4 Device identify: “Wireless Controller”) could have to enter pair code: 0000)
- All needs to be good to go when you join the controller, if not restart DS4Windows, and even your pc.
Note: Some video games work with the DS4 with out DS4Windows. Games like these could cause double enter in menus (ie urgent down on the dpad strikes 2 areas) or the unsuitable button to do incorrect features. To resolve this, test Hide DS4 within the settings, in case you see a warning within the log/textual content on the underside, which means you need to shut stated recreation or consumer that causes the battle and reconnect the controller.
Connection technique:
- Micro USB cable
- Sony Wireless Adapter
- Bluetooth 4.0 (by way of an adapter or inbuilt PC). Only use of Microsoft BT stack is supported. CSR BT stack is confirmed to not work with the DS4 despite the fact that some CSR adapters work high-quality utilizing Microsoft BT stack. Toshiba’s adapters at present don’t work. Disabling ‘Enable output knowledge’ within the controller profile settings may assist with latency points, however will disable gentle bar and rumble help.
- Disable PlayStation Configuration Support and Xbox Configuration Support choices in Steam
What’s New
This construct targets .NET 6 so that you may want to put in a brand new .NET Runtime bundle earlier than the up to date DS4Windows construct will run.
.NET Runtime x64 .NET Runtime x86
- Changed startup machine init and hotplug to unify code routines
- Changed minimal sensitivity for LS and RS
- Updated H.NotifyIcon bundle to model 2.0.60
- Implemented workaround for H.NotifyIcon disposing TaskbarIcon occasion after show scaling adjustments and RDP periods
- Updated NLog bundle to model 5.0.2
- Small change to show of Binding window panels when citing macro recorder
- Added credit score notes for vJoyInterfaceCS
- Changed ViGEmPluginFailure string textual content. Removed reference to previous PurgeOldXInput mission
Previous launch notes
- Changed startup machine init and hotplug to unify code routines
- Changed minimal sensitivity for LS and RS
- Updated H.NotifyIcon bundle to model 2.0.60
- Implemented workaround for H.NotifyIcon disposing TaskbarIcon occasion after show scaling adjustments and RDP periods
- Updated NLog bundle to model 5.0.2
- Small change to show of Binding window panels when citing macro recorder
- Added credit score notes for vJoyInterfaceCS
- Changed ViGEmPluginFailure string textual content. Removed reference to previous PurgeOldXInput mission
- Hide alpha slider from coloration picker window
- Changed some translation information places primarily based on .NET 6 locale adjustments
- Added OSC Server and Sender. Contribution by GreySole
- Updated H.NotifyIcon NuGet bundle
- Use new H.NotifyIcon property for dealing with tray icon identifier
- Removed Speaker quantity characteristic flag from DS4 output report
- Minor tweak for ReadLocker wrapper class
- Added H.NotifyIcon to About Extras tab
- Removed DS4Audio class from mission
- Disabled failed pretend DS4 detection. Did probably not work for its function primarily based on experiences
- Fixed Rename Profile window to make use of app theme colours
- Slightly alter how loading a temp profile is carried out
Previous launch notes:
- Changed gyro output mode output habits for joined JoyCon controllers. Run output early for Gyro Mouse and Gyro Mouse-like Joystick
- Updated many mission dependency NuGet packages and DLL information
- Migrated mission to make use of H.NotifyIcon.Wpf bundle
- Added additional CONNRESET IOControl name for ReceiveCallback technique in UDP server. Avoids potential reminiscence leak inside UDP server in .NET 6. The name ought to have most likely existed beforehand
- Switched predominant UDP message rsp to transform payload from a struct. Faster and less complicated
- Added dependabot to GitHub actions. Contribution by sitiom
- Slightly tweaked Suspend and Resume energy routines
- Fixed DS4Updater obtain URL redirect when automated obtain fails
- Fixed preliminary knowledge bindings for Auto Profile part
- Have Full Pull Dual Stage triggers use uncooked enter vary relatively than interpreted. Might have to vary how Full Pull is dealt with later
- Changed WelcomeDialog to make use of Windows temp folder whereas downloading relatively than program folder. Would primarily have an effect on when DS4Windows is run from a read-only folder (should not be the case on a correct setup)
- Removed Mastodon and Minds social media hyperlinks from About window. No longer help Mastodon as an entire. DS4Windows truly acquired banned from Minds
- Added additional mission hyperlinks and notes to About window
- Allow joined JoyCons to transmit distinctive Gyro knowledge to UDP server. Mimics habits of BetterJoy for 2 JoyCon controllers linked collectively
- Changed HidHide obtain hyperlink to level to model 1.1.50.0. Approved launch
- Enforce 6 regular key most for pretend digital keyboard in FakerInput handler. Pretty positive some experiences had been from individuals abusing stated restrict
- Removed previous .NET 5 workaround for single course of occasion checking. Use EventWaitHandleAcl.OpenExisting included with .NET 6. Contribution by sitiom
- Fixed touchpad counter studying with DualSense. Needed for Touchpad passthru for digital DS4 Extended output to work. Contribution by Kanuan
3.1.0
- Have mission goal .NET 6. Good efficiency leap. Make positive to obtain the .NET 6 Runtime earlier than updating.
- Updated additional libs to focus on .NET 6
- Remove using the DS4Audio monitor class for choose gadgets. Use applicable DS4 characteristic flags as a substitute. Will probably repair headphone muting points whereas rumble is energetic for a number of third get together DS4 controllers
- Changed expanded output vary for Gyro Mouse-like Joystick
- Added further checks for HidHideClient path
- Changed gyro mode subcommand requires Switch Pro and JoyCon controllers
- Added attempt catch for preliminary outputKBMHandler join name. Skip over failed FakerInput connection and try and fall again to ShipInput
- Changed Backslash OEM key alias for FakerInput mapping
- Corrected present gyro toggle flags. Could have impacted profile switching
- Raise default warning intervals used for controller readings management and lightbar flashing
- Removed a number of DS4 BT Windows 7 workarounds. Seriously, Win 7 help is completed. 8.1 is sort of EOL
- Fixed use of WIN64 compilation image for HID serial studying routine. Visual Studio most likely stripped it with the .NET 5 migration
- Bundled up to date XInputChecker and DS4Updater that focus on .NET 6
- Binaries are not digitally signed. No longer have a legitimate OV certificates anymore. Going to make distribution more durable
Previous launch notes
- Added output Stick and Axis choices for Gyro Mouse Joystick
- Use TabControl to comprise gyro output panels. Simplifies XAML
- Re-enabled DS4 emulation help
- Added pretend DS4 FrameCounter subject for DualSense, Switch Pro and JoyCon gadgets
- Increased default Idle Disconnect time to fifteen min
- Disabled DS4 controller emulation help. Can’t have good issues
- Only carry out output slot lookup in digital machine plugin routine when emulating a controller
- Check for machine removing standing earlier than including machine to predominant view listing. Fixes preliminary Switch Pro disconnect on hotplug when controller battery is useless
- Changed mapper to repeat timestamp knowledge from authentic enter state object. Used for DS4 Gyro Passthru
- Changed ControllerListViewModel locking technique for non-Sony DS4s which may fail the preliminary handshake
- Removed OnlyInputData0x01 hack for pretend DS4 controllers (pretend DS4 utilizing Sony VID+PID combo)
- No longer present help for knockoff pretend DS4 controllers
- Changed Lightbar TabItem in Profile Editor to make use of embedded TabControl
- Added warning textual content for Lightbar Passthru mode stating the previous characteristic is at present disabled
- Fixed combo field cutoff in Dark theme. Contribution by Sajidur78
- Updated Brazilian Portuguese translation pack. Contribution by nelitow
- Updated FakerInputWrapper libraries for F13 – F24 key help
- Added F13 to F24 keys for FakerInput mapping
- Decreased button wheel delta. Increased button wheel sensitivity. Now makes use of 150 ms for time delta
- Updated FakerInputWrapper libraries. Fixes array bounds test for KeyboardReport
- Fixes for Stick Outer Btn bindings
- Added ManagementException catch for preliminary connection. Apparently it may be thrown in that decision.
- Expanded max output limits for LS and RS
- Re-design darkish theme and use theme colours in AutoProfiles. Contribution by Sajidur78
- Changed DualSense set off Full Click resistance relying on profile settings
- Changes to higher deal with connection failure for Switch Pro and JoyCon gadgets
- Another repair for EnhancedKey utilization for FakerInput mapping
- Bundled PurgeOldXInput 0.1.2
3.0.12
- Removed previous Input Curve choices
- Corrected coordinate system for Stick to Mouse Wheel
- Fixed saving of Max Output Force choices
- Expand output for Gyro Mouse Joystick Max Output routine. Make positive most output will be achieved. Likely wouldn’t obtain a totally straight line when utilizing Gyro.
- Expanded macrodone array. Fixes some macro bindings for later digital buttons
- Added ‘Hide DS4 Controller’ possibility again in once more
- Increased button mouse wheel delta. Decreases wheel sensitivity
- Unified late profile choices checks
- Increased resistance vary for DualSense set off Full Click
3.0.11
- Group and transfer Virtual Controller choices in Other tab. Contribution by Kanuan
- Fixed MODIFIER_ENHANCED worth for FakerInput mapping
- Fixed Alt, Windows, and different modifier keys mapping for FakerInput
- Fixed Stick to Mouse Wheel routine for ShipInput output
- Fixed tray menu profile choice for names with underscores
- Added many tooltip strings in Profile Editor
- Fixed RenameProfileWindow closing early resulting from early DialogResult project. Property calls Close on the Window
- Removed BitChute social hyperlink
- Fixed show of CheckEveryUnit combobox in Settings tab. Not positive when VS modified that portion of the XAML
- Removed out of date ‘Hide DS4 Controller’ possibility once more. Can’t have choices
- Added ScrollViewer to Other tab in Profile Editor. Enough controls in tab to justify it
- Added power possibility for LS and RS MaxOutput. Allow 100% pressured round max output for sticks
- Made Capture, SL, and SR buttons mappable
- Created Outer Button bindings for LS and RS. Allows additional distance motion for the sticks like Walk or Sprint
- Display Touchpad X and Y in Controller Readings tab
- Increased HID report enter buffer to three relatively than 2. Not positive it should actually matter
- Disabled damaged DS4 suggestions help once more. Can’t have semi-nice issues. Don’t deliver it up once more till no less than the following ViGEmBus driver replace
- Added change to not ship Profile loaded message for secondary JoyCon in Joined mode
3.0.9
- Fixed acquiring supply index merchandise for Special Action listing
- Allow Touchpad Click as an output for Macros
- Delay log message for digital machine affiliation
- Updated ViGEmPluginFailure message to make reference to PurgeOldXInput utility
- Added PurgeOldXInput utility to Tools folder. Might be helpful for deleting invalid digital Xbox 360 controllers
- Updated Japanese translation. Contribution by toshixm
- Updated Czech translation. Contribution by MikeCZ23
- Bundled DS4Updater 1.5.5
3.0.8
- Added slot# log messages to a gamepad join/disconnect handler and ‘everlasting’ slot debug msg. Contribution by mika-n
- Small particular motion repair when motion set off is by some means flagged as None
- Added help for digital KB+M driver FakerInput v. 0.1. Needed to play Valorant and different apps that block ShipInput occasions.
- Sort Special Action listing by motion identify
- Fixed occasion order problem that induced output slots to not get disconnected
- Reduced mouse the rest cutoff to the hundredths place
- Fixed OutSlotDevice test to verify Permanent slots are indifferent on service cease
3.0.6:
- Support for DS3 gamepad as vendor outlined machine over DsHidMini driver. Contribution by mika-n
- Now problem quick digital machine unplug upon Windows droop
- Changed ViGEmBus lookup routine to carry out a listing primarily based lookup for potential drivers. Attempt to find latest model from model information
- Changed ViGEmClient library to try to connect with latest obtainable model of ViGEmBus on a system relatively than the primary model discovered
- Set all controller slots to make use of the Default profile initially when making a brand new config
- Immediately problem unplug of all digital controllers when urgent predominant Stop button
- Initial implementation of HidHide integration. Display key icon for HidHide hidden machine. Insert DS4Windows.exe into whitelist at startup if obligatory
- Changed technique of acquiring present executable file location. Needed resulting from meeting adjustments in .NET 5 breaking help for customized exe filenames
- Added HidHide installer hyperlink to Welcome dialog window
- Added HidHide Configuration Client app hyperlink in Settings tab
- Hide HidNinja hyperlink in Settings tab if HidGuardian just isn’t put in
- Show the textual content worth of ‘Max Saturation’ lightbar setting. Contribution by sabihoshi
- Changed Launch Program particular motion to make use of UseShellExecute
3.0.4:
- Fixed launching of HidGuardHelper for .NET 5 utilization
- Fixed URL string era for updater model redirect on obtain failure
- Fixed a couple of typos within the English strings. Contribution by instilledbee
- Bundled HidGuardHelper 0.2.0
- DS4Windows now targets .NET 5
- Changed ViGEm libraries to focus on .NET Core 3.1
- Now use MdXaml relatively than Markdown.Xaml for Changelog textual content rendering
- Removed Newtonsoft.Json library dependency
- Removed use of .NET 5 Runtime test nag window
- Fixed UDP Server locking machine enter in .NET 5. Caused by API change for SocketAsyncEventArgs
- Moved app config loading to happen after logger is created
- Change extras flag to take present DS4Control under consideration
- Added furtherProbingPaths to runtimeconfig.json
- Use UseShellExecute for ProcessStartData. Due to Process.Start change in .NET 5
- Added newer bat self deletion routine. Make positive to return 0 standing code in course of when performing bat self-delete
2.2.15
- Ignore duplicate machine when in Shared mode
- Added additional processing to Version string for .NET 5 and later. Expecting Microsoft to make use of their very own normal was a mistake
- Changed URL used for .NET 5 Runtime obtain
2.2.11
- Implemented newer suggestions handler routine for digital DS4 gadgets. Added digital DS4 rumble again in
- Now positive to make use of steady calibration routine for non-DS4 gadgets
- Changed severity of ViGEmPluginFailure message. Now signifies {that a} consumer ought to most likely reboot Windows if it occurs
- Fixed JoyCon R Gyro Roll. Old worth was inverted
- Copy modified JoyCon present state to be used in UDP server
- Only show machine in UDP server if it’s a major machine. Mainly wanted resulting from JoyCon R in Joined JoyCon mode
- Added exception catching when saving Actions xml file. File corruption will now trigger the file to be written from scratch
- Use Task error log helper for some background service duties. Allows some additional attainable error messages to point out up within the Log
- Simplify UDP movement occasion creation. Allow movement occasion to be created when enabling UDP server
- Make Flash at High Latency default to 50 ms
- Dark Theme coloration adjustments. Color distinction has been decreased. Contribution by AnessZurba
- Skip writing machine wheel calibraton nodes if empty
- Now use estimated wheel middle values if controller config has an empty entry. Problem induced some app instability and reminiscence bloating resulting from extreme log messages in Log tab (over 1GB RAM utilization)
- Implemented axial useless zone and associated settings
- Fixed ColorByBattery panel visibility for first open. Contribution by MakiseKurisu
- Changes for steady calibration routine for Sony Wireless Adapter connections. Contribution by MakiseKurisu
- Tweaked profile loading for some older fallback choices
2.2.8
- Fixed resetting of set off values for Two Stage modes
- Removed references to previous Discord server
- Pull gyro calibration sampling routine out to its personal technique
- Fixed regular button binding to Touchpad Click output
- Attempt to go to DS4Updater Release web page if automated obtain of updater failed
- Added GitHub hyperlink to Social row in About window
- Fixed x86 ViGEm installer URL
2.2.7
- Added an additional precaution to unplug any everlasting output gadgets upon service cease. ViGEmBus ought to deal with this already however simply need to be certain that.
- Updated Polish translation. Contribution by gregory678
- Changed locking technique for ControllerSlotManager assortment
- Fixed proper click on disconnect slot index for brand spanking new sorted listing
- Implemented a variant of Two Stage Triggers
- Added Trigger results presets. Currently solely helpful for the DualSense controller
- Added averaging gyro calibration upon machine connection. Contribution by firodj
- Skip unknown DS4Controls names whereas loading a profile
- Fixed problem with lackingSettings being set for fallback worth lookup on Profile load. Constantly re-saved profiles
- Only reset outDevTypeTemp on full profile save. Ensured correct controller picture is utilized in Binding window after clicking Apply in Profile Editor
- Change association of lit LED lights for DualSense controller
- Allow Touchpad Click button passthru with Mouse and Controls mode
- Changed machine sort settings. Now use machine particular (serial) settings. Now saved to ControllerConfigs.xml
- Added test for legitimate output report sorts upon DS4 BT machine connection. Can revert to utilizing output report 0x11 if wanted. Not positive if it should matter
- Ignore output plugin routine and different calls if requested profile file doesn’t exist