-
Notifications
You must be signed in to change notification settings - Fork 808
Small Test HidGuardian Management App #1219
Comments
Seems to work and does the job to setup HidGuardian sysreg entries for DS4 gamepads. Especially comment tag is useful when DS4Windows profile is used in dualshock4 mode. By commenting out the "HID VID_054C&PID_05C4" line (the first line in the screenshot above) makes it possible to use HidGuardian and dualshock4 profiles with DS4Windows app. |
HidGuardian has been more useful for me lately due to my recent Touchmote experiments. Trying to figure out how to get HidGuardian to hide the DolphinBar exposed gamepads was a pain. The process of hiding Wiimotes is definitely a lot easier with this. I had my own issues with HIDer and HidCerberus so I didn't use either tool outside of testing. |
Out of the bed, I suggest HidNinja or HIDden (mmm... right). |
Is there a way to hide original DS4 while not hiding the virtual DS4 one? |
HidGuardian only works on defined Hardware IDs. The device instance ID will change depending on which port a device is plugged into. Also, I want to think that the instance ID can change per Windows session but I cannot remember for sure. For now, the only way to work around this would be to comment out the Affected Devices entry for that Hardware ID after DS4Windows has opened the real DS4. Then you can load a profile that plugs in a virtual DS4 via ViGEmBus and that virtual DS4 will be available to the system. The Affected Devices list is checked when a device is plugged into the system so the virtual DS4 would be blocked if you load the profile beforehand. At one time, I had a custom build of HidGuardian that would ignore virtual devices created by ViGEmBus. Unfortunately, I lost the old patch a while ago. I have not had the need to have that functionality back so I haven't taken the time to add that feature back to my custom version. |
@Transcan Have you tried to connect the DS4v1 over BT and using HidHider test app to comment out the USB hardware ID from HidG AffectedDevices sysreg entry? This way HidG would not hide the HID\VID_054C&PID_04C4 device ID which is actually the same used by ViGem virtual ds4 device. However, the original physical BT device would be hidden because AffectedDevices sysreg entry still has HID{000xxxxxx} type of entries. I haven't tried this, but this could work with DS4v1. The dS4v2 devices doesn't suffer from this issue because you can comment out all DS4v1 device IDs from the AffectedDevices sysreg entry and to hide only DS4v2 device ID. |
Thanks both for the responses. As my understanding, the problem comes from that the virtual controller emulates a DS4v1's ID, same ID as my actual physical controller. That makes me think... Can ViGEmBus emulate the ID of a DSv2? |
ViGem interface has a support for a custom VID/PID values, but when I tested it at some point it (ie. used DS4v2 device ID while trying to solve the DS4v1 HidG issue with ds4 virtual devices) then it didn't work. ViGem still insisted to register the virtual DS4 device with ds4v1 hardware ID. Could be that there was a bug in ViGem back then or my test did something wrong. Haven't looked at this thing since then (I mainly use DS4v2 gamepad). Anyway, the idea would have been to add an additional ControllerOutput profile option by letting user to choose between virtual ds4v1 or ds4v2 device type. One more "DIY solution idea". I have several mobile phone USB cables which don't work with DS4 gamepad. Those cables don't carry over data signales between PC and the DS4, but can charge the gamepad. If you have such cables then you could use "hybrid wired/wireless" solution where data is carried over BT, but wire is used to charge the gamepad. Or connect the gamepad with a long usb cable to wall socket while charging it instead of charging via PC. As a side note PS4 console works this way also. When you connect the DS4 gamepad with usb cable then it is used only to pair the gamepad and charge it, but data is carried over BT to PS4 console. |
Добрый человек. Спасибо тебе огромное. Твоя программа и твой труд помогли мне. Спасли так сказать от страшного поступка)) Добра тебе в дом и здоровья! Только ради комментария здесь зарегистрировался) |
I finally got around to coding an HIDer replacement app. Not a great app but it does what I want. The app does provide some unique functionality and I think it is slightly better than HIDer used to be.
Like HIDer, this program is used to manage the affected devices list that is used by HidGuardian. An HID device can be selected from a list and individual hardware IDs can be added to the affected devices list. The app can also whitelist any currently running process so that blocked devices can be detected by an app not directly compatible with HidGuardian.
Probably should come up with an actual name for the app sometime.
HidHideTest_20200412.7z:
https://drive.google.com/file/d/1I6wTShLOayi4uA2BWHTYCEXz7VeG_Xer/view?usp=sharing
Source:
https://gitlab.com/ryochan7/hidhidetest
The text was updated successfully, but these errors were encountered: