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

Exclusive Mode still not fixed? #613

Closed
Exclesa opened this issue Mar 21, 2019 · 9 comments
Closed

Exclusive Mode still not fixed? #613

Exclesa opened this issue Mar 21, 2019 · 9 comments

Comments

@Exclesa
Copy link

Exclesa commented Mar 21, 2019

So, ever since like 8 versions ago, Exclusve mode just doesn't work anymore. This started when HIDGuardian support was removed. My controller shows up and DS4Windows recognizes it, but any game i try to play just doesn't work.

When i launch an emulator, it detects my controller inputs when on the button mapping screen, but in game the controller does NOT work anymore. In any of em. I have tried every single fix i could find on the internet for exclusive mode, including the Wireless Controller HID Driver removal/disable method. Which seemed to work at one time, but it then broke my controller on steam. Steam would no longer recognize it, making the other majority of my games unplayable.

So, is there just no way to really get this working? At all? This doesn't seem like it should be this complicated....

@mika-n
Copy link
Collaborator

mika-n commented Mar 21, 2019

https://github.com/Ryochan7/DS4Windows/wiki/Exclusive-Mode-(Hide-DS4-Controller-config-option)-tips-and-issues

The exclusive mode does work but is sensitive to other apps you might start BEFORE DS4Win app and connecting a controller. See the linked Wiki page for more info.

HidGuardian technique still works but you have to follow HidGuardian instructions to install it. DS4Win app detects if you have HidGuardian installed and tries to add the process ID of the app into a white listed PID list of HidGuardian driver (=apps which can use the original controller). DS4Win app does this by calling a helper tool HidGuardHelper.exe. The tool should be part of the latest DS4Win installation package.

And the issue IS complicated and not so easy to do. HidGuardial tool itself proves this because it is quite complex piece of stuff and if you make a mistake with it then you might end up without mouse and keyboard support. ExclusiveMode in DS4Win app is an alternative way and potentially not so dangerous technique. For me it works great but I just follow certain rules when I launch the app (ie. DS4Win launched and controller connected before Steam/UPlay/Origian apps and WinStore app background activity disable etc...)

@Ryochan7
Copy link
Owner

This started when HIDGuardian support was removed. My controller shows up and DS4Windows recognizes it, but any game i try to play just doesn't work.

Which version of DS4Windows are you using? HidGuardian support was added back into DS4Windows with version 1.6.8. You have to install and configure HidGuardian manually though. There is a test installer that I need to post in the Wiki page but I am a bit hesitant about it being actively used. More integrated support for HidGuardian might be included once HidGuardian version 4 goes stable.

So, is there just no way to really get this working? At all? This doesn't seem like it should be this complicated....

The exclusive mode problem is actually one of the hardest problems related to this program and other mapping programs. There is a lot happening outside the control of the program and your system's configuration matters a lot. Problems can come up even when using HidGuardian. When even the Windows Store app can keep exclusive access from working, it goes to show how brittle exclusive access really is. This issue is better now on my system than it has ever been but more work will continue to be done.

I think I would need to see video of these problems occurring on your system in order to have some starting point. It would be a nice reference even if nothing can be done.

@Exclesa
Copy link
Author

Exclesa commented Mar 21, 2019

And the issue IS complicated and not so easy to do.

I'm sorry if I came across as rude or something, it wasn't my intention. I understand developing and maintining these types of programs is difficult, and that problems can arise. It just sorta annoys me that at one point I had it working perfectly, and then all of a sudden it stops working completely. And when i finally get it "working" again, it only half works. i.e works perfectly in steam but not outside of it, or vise versa. I may have worded that wrong, I was really referring to the user-side of the program. As in, when we, the user, uses the program, it shouldn't require hours upon hours of trying to get it to work. I see alot of people saying stuff like "oh it works np for me, took me 5 minutes" and then others go "Oh u have to do this and this and this", yet when i do all those steps that person says, it doesn't work.

Which version of DS4Windows are you using?

I'm using the latest version, 1.7.0

You have to install and configure HidGuardian manually though

The instructions confuse the hell out of me. I tried the old installer version but that doesn't work anymore, the new version that i run as a script confuses me greatly. Unless that's the wrong thing...there is no clear indication of where things are nowadays.

For me it works great but I just follow certain rules when I launch the app (ie. DS4Win launched and controller connected before Steam/UPlay/Origian apps and WinStore app background activity disable etc...)

Thing is, alot of those auto-run at startup for me, so would I have to disable their startup launches completely in order for Exclusivity mode to work? I have tried closing steam, origin etc and then launching DS4Windows, but it still doesn't work.

I've been installing, disabling, re-installing HID drivers + DS4Windows drivers over and over trying to get this to work on both steam and outside of it, but so far I haven't lost any K+M support. But it's super frustrating because there are games i cannot play in steam (due to only working when played through a respective launcher), and it just doesnt work, that or it works but the controls are all super messed up even though all my bindings are the same.

I think I would need to see video of these problems occurring on your system in order to have some starting point. It would be a nice reference even if nothing can be done.

I can do a video showing my issue, but i'm not suer how much help it'd be.

I have spent hours upon hours trying to fix this to no avail and it's just sorta getting on my nerves a lil~

@mika-n
Copy link
Collaborator

mika-n commented Mar 22, 2019

You have to install and configure HidGuardian manually though
The instructions confuse the hell out of me. I tried the old installer version but that doesn't work anymore, the new version that i run as a script confuses me greatly. Unless that's the wrong thing...there is no clear indication of where things are nowadays.

Just go through the HidGuardian installation Wiki page carefully step by step. The page was recently updated.

Thing is, alot of those auto-run at startup for me, so would I have to disable their startup launches >completely in order for Exclusivity mode to work?

Yes. If you don't use HidGuardian driver then you have to use "Hide DS4 Option" in DS4Windows (ie. exclusive mode). This exclusive mode requires that DS4Win app MUST BE the first one to open the original DS4 controller in order to hide it from other apps.

As a test run set all your Origin/Steam/UPlay/NvidiaGeForceExperience/Netflix/WinStore/whateverYouMightHaveAndUsesGamepadControllers apps not to start at boot and try if the exclusive mode works. Then you know that one of the apps you didn't start at boot time causes problems and you can pin point the app one by one.

@Exclesa
Copy link
Author

Exclesa commented Mar 23, 2019

Just go through the HidGuardian installation Wiki page carefully step by step. The page was recently updated.

I just wanna make sure, which HIDGuardian should I be installing? The one on this repo's wiki? or a different one? When searching up HIDGuardian i find at least 2 or 3 different repo's. I tried the one on this repo's wiki and it didn't work.

As a test run set all your Origin/Steam/UPlay/NvidiaGeForceExperience/Netflix/WinStore/whateverYouMightHaveAndUsesGamepadControllers apps not to start at boot and try if the exclusive mode works. Then you know that one of the apps you didn't start at boot time causes problems and you can pin point the app one by one.

I tried disabling all of my programs that use my controller; Steam, Origin, Nvidia Controller (Geforce experience etc) etc. And then tried launching DS4Windows. It still gave me the same error.

@mika-n
Copy link
Collaborator

mika-n commented Mar 24, 2019

Take a look at the following discussion thread. There are tips about how to use Microsoft ProcessExplorer tool to find out which application is holding a handle to certain device:
#573 (comment)

When you run this tool then do it without running DS4Windows to see which apps are holding an open handle to DS4 controller. Links in the post gives you few tips how to find out the current handle identifier of your DS4 controller (something like "\device\0000xxx" where xxx is some hexdecimal number.

Or if you don't know how to find out the handle identifier from a DeviceManager then use the ProcessExplorer tool to see which handles are open in DS4Windows application and connect and re-connect the DS4 controller and see which handle comes and goes in DS4Windows app (while you are analyzing DS4Windows process in ProcessExplorer). Just remember to run ProcessExplorer usign "run as administrator" functionality to give it elevated priviledges.

Some user reported than TeamSpeak seems to hold an open handle to DS4 controller. If you have teamspeak/discord/whatEver multiteam chat tool running then try to close those too before trying exclusive mode. Or just go through the steps to install and configure HidGuardian so you don't have to use "Hide DS4 Controller" option in DS4Win application. The Wiki page of DS4Windows has a link to correct HidGuardian package. It is the latest publicly signed driver version. The author of HidGuardian is creating newer versions but those are not yet publicly signed. If you find trouble installing normal signed drivers then I think it is best to skip the use of developer signed driver version which you may have seen in other repositories (developer drivers require special developer mode in WinOS).
https://github.com/Ryochan7/DS4Windows/wiki/DS4Windows-and-HIDGuardian-Install-and-Setup-Guide

@Ryochan7
Copy link
Owner

At this point, I really feel like the old "Hide DS4 Controller" option has outlived its usefulness. I was able to change DS4Windows and gave the method another two year life span but more software keeps complicating matters. It does not help when other software interferes and I get blamed for it.

toxic_comment_chill_stream_sub

@Ryusennin
Copy link

Ha! Everyone on the interwebs is a specialist, especially the morons.

Since you released your alternative branch of HidGuardian, it has helped me solve many conflicts that the old hide method couldn't catch. Your experimental installer worked fine and made the whole configuration process a non issue. Personally I would make it a mandatory component.

@Ryochan7
Copy link
Owner

An extra tool would have to be made for configuring some portions of HidGuardian. That way DS4Windows can be run as a normal user and the tool could be launched as admin when needed to edit the registry.

Another problem that I just found out about is that HidGuardian would hide any virtual DS4 controller from the system when using a template list for DS4 devices. That would negate most of the work that has gone into DS4Windows version 1.7.6. HidGuardian would have to be changed to assume that virtual HID devices will have an associated UI Number which ViGEmBus attaches to created virtual DS4 controllers. DS4Windows 1.7.6 will use that property to determine if a DS4 controller is virtual.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants