Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.

Exclusive Mode (Hide DS4 Controller config option) tips and issues

mika-n edited this page Sep 7, 2020 · 27 revisions

Hide DS4 Controller option / Exclusive mode

What is "Hide DS4 Controller" option in DS4Windows application and why some games require that mode?

DS4Windows application outputs re-mapped buttons, touchpad and gyro functionalities through a virtual x360 (V1.7.6+ nowadays supports also virtual DS4 controller) controller device. This virtual x360 device is an additional device and the original DualShock4 controller is also still visible for WindowsOS, games and for other applications. At first this may seem perfectly OK and there should not be any problems because you should be able to choose which controller is used in an application. However, some applications may behave oddly or even crash when button events are coming simultaneously at the same time over two controller devices (from the original DS4 Controller HID device and from a virtual x360 HID device). Some applications work just fine because those know how to listen events from a single controller device only.

If an application or a game works just fine without Hide DS4 Controller/Exclusive Mode option then you don't have to enable this mode, but not all applications are smart enough to see the difference between original and virtual device.

One solution to this "double controller" problem is to hide the original DS4 Controller device, so applications see and receives re-mapped button events from the virtual x360 device only.

This is the purpose of "Hide DS4 Controller" option. DS4Windows tool tries to hide the original DS4 controller device by acquiring an exclusive access to the original controller device and this way preventing any other application to see that device. Applications would see and receive re-mapped button presses, touchpad events and gyro events from the virtual x360 controller device only.

What to do if DS4Windows fails to enable exclusive mode?

The use of exclusive mode requires that at the time when DS4Windows tool is started and a controller is connected then no other application should hold an open connection to the controller. If there are existing connections to the controller then it is too late for DS4Windows tool to acquire exclusive access, so the original HID device remains visible. In this case DS4Windows logfile shows a message "failed to enable exclusive mode".

To solve problems with exclusive mode you should try to close all other applications which may be using the original controller and to re-connect the DS4 controller (or press "Stop/Start" button in DS4Windows option screen). If DS4Windows tool is the first application opening a connection to the controller then DS4Win can acquire the exclusive access and this way hide the original device.

If your PC starts automatically various applications on system boot then try to arrange the start order of those applications which may hold a connection to DS4 controller. Make sure DS4Windows tool is the first application using DS4 controller if "Hide DS4 Controller" (exclusive) mode is used. Alternative solution is to use HidGuardian tool because it works without exclusive mode (see bottom of this page for more info).


Applications known to cause problems with exclusive mode

Following list is not a complete list of applications which may be running in your system in the background and may have an open connection to the original DS4 controller. Sometimes very unexpected application may have an open connection to Dualshock4 controller without your knowledge and this way preventing DS4Windows tool to enable "Hide DS4 Controller" exclusive mode.

  • NVIDIA GeForce Experience and in-game overlay
    Disable GeForce in-game overlay feature in NVIDIA options or enable it only after you have started DS4Windows tool.

  • Steam client
    Steam client supports "big screen mode" and various gamepad controllers (including DualShock4). Disable gamepad support in Steam client at least for DualShock4 device type.

  • Ubisoft UPlay client
    UPlay supports gamepad navigation. Close UPlay client before launching DS4Windows tool.

  • Windows Store application
    Windows Store application supports gamepad controller navigations. Shutdown WinStore.app.exe process before launching DS4Windows tool. You can launch WinStore application after DS4Windows has already enabled the exclusive mode.

  • Netflix (Win 10 app)
    Netflix client supports gamepad navigation. Close Netflix client and terminate its process before opening DS4Windows tool.

  • Microsoft Edge
    The Microsoft Edge browser window needs to be closed and the background task must be ended in Task Manager. You can use local group policy tool to disable automatic startup of Edge background processes on system boot. See the following web page https://docs.microsoft.com/en-us/microsoft-edge/deploy/group-policies/prelaunch-preload-gp how to disable two Edge related group policy entries.

  • JoyToKey
    The JoyToKey is another gamepad remap tool. Some users have reported that having both DS4Windows and JoyToKey apps running may lead to problems when a gamepad is disconnected. Exclusive mode doesn't work when a gamepad is re-connected after a disconnection or DS4Windows doesn't recognize DS4 gamepad at all.

  • GameBar (Win 10)
    GameBar.exe may hold a open connection to the original DualShock4 controller. You can disable the Game bar in Settings -> Gaming -> Turn off 'Record game clips, screenshots and broadcast using Game bar', and unselect 'Open Game bar using this button on a controller'.

  • Oculus Rift tools
    If you have installed Oculus Rift VR tools then there may be a background process using a gamepad. Stop "Oculus Rift VR runtime service" background service and launch it after DS4Windows application has started and acquired the exclusive lock to a DS4 gamepad.

Check which process has control of the DS4

The application Process Explorer can be used to find out which process currently has an open handle on the DS4 and making exclusive mode fail. The scan takes a little bit of time but it is helpful in finding problem applications. A link to a guide is provided below.

http://www.imatest.com/2017/01/how-to-determine-what-processes-are-using-a-device/

Process Explorer example search


What is HidGuardian tool? Are both exclusive mode and HidGuardian tool needed at the same time?

If DS4Windows application fails to acquire exclusive access (hide the original device) in your setup and for some reason you cannot set DS4Windows tool to be the first application using DS4 Controller then there is an alternative way to hide the original gamepad device. HidGuardian is a Windows kernel mode filter driver to hide certain devices. The driver goes under the hood (kernel model), so it can do more than application level "Exclusive Access" option in DS4Windows application can do.

There is no need to use both Exclusive Mode and HidGuardian at the same time, so choose only one of these techniques if applications you use require to hide the original device.

There is a separate page in this documentation about HidGuardian tool (installation and how to use it with DS4Windows application). Please see that page for more details. However, you should know that HidGuardian tool is a 3rd party tool and not part of DS4Windows application, so if you have problems with the HidGuardian tool then you should reach out for help by contacting HidGuardian maintainers.

HidGuardian helper installer (if you don't want to install HidGuardian manually): https://github.com/Ryochan7/DS4Windows/wiki/DS4Windows-and-HIDGuardian-Install-and-Setup-Guide#hidguardian-test-installer