Ryochan7 / DS4Windows

Like those other ds4tools, but sexier
https://ryochan7.github.io/ds4windows-site/
GNU General Public License v3.0
6.99k stars 808 forks source link

HIDNinja does not remember saved applications #1455

Closed jmriego closed 4 years ago

jmriego commented 4 years ago

I am not even sure if this is something HIDNinja should do, but I'm trying to hide several controllers except in specific apps. It seems to work only if I click on add apps but if I close the app and open it again, it doesn't detect the new PID. This could be something that HIDNinja is not expected to do but could be very useful to have.

Would it be possible to add this feature? Also, I'm trying to find the documentation about HIDNinja but I can't find much. Is there another GitHub repo for it?

Thanks in advance!

mika-n commented 4 years ago

HidNinja doesn't actively poll background apps for new process PID values (ie. each time you launch the app the PID may be different, so this is why HidGuardian WhiteList sysreg entry cannot have persistent values). DS4Windows uses HidGuardian.exe tool (supplied with DS4Windows) to add the current PID of DS4Windows app to the Whitelist list. HidNinja is not used at runtime at all (it is "just" a configuration interface, but not a background monitoring app).

There are other apps which will update Whitelist hidG sysreg entry dynamically by monitoring constantly which apps you are running. See WhiteKnight. https://www.autohotkey.com/boards/viewtopic.php?t=34890

jmriego commented 4 years ago

thatnks a lot for your answer @mika-n . The reason I was trying something different is because WhiteKnight only really supports one process and I'm trying to make vJoy accessible to specific apps. It's because there are many games that don't work with DS4Windows if you have vJoy installed. I'll probably have to write some autohotkey wrapper

Ryochan7 commented 4 years ago

HIDNinja was never meant to remember applications. I didn't want to have a running thread constantly monitoring processes. HIDer had a minor means of whitelisting applications at launch. The standard routine will not work with UWP applications anyway,