GithubHelp home page GithubHelp logo

nefarius / hidhide Goto Github PK

View Code? Open in Web Editor NEW
874.0 31.0 76.0 1.1 MB

Gaming Input Peripherals Device Firewall for Windows.

Home Page: https://docs.nefarius.at/projects/HidHide/

License: MIT License

Roff 6.23% Batchfile 1.27% C 32.90% C++ 58.08% PowerShell 1.53%

hidhide's Introduction

HidHide

Build status GitHub All Releases Chocolatey package GitHub issues by-label GitHub issues by-label

Gaming Input Peripherals Device Firewall for Windows.

Introduction

Microsoft Windows offers support for a wide range of human interface devices, like joysticks and game pads. Associating the buttons and axes of these devices with application specific behavior, such as Fire, Roll, or Pitch is however left to the individual application developers to realize.

While there are good examples of applications allowing a user to customize the controls to their liking, other applications are less sophisticated or lack just that feature a user is looking for. This is where utilities like vJoy and Joystick Gremlin come to the rescue. These utilities aren't limited by a vendor lock-in and attempt to move certain features back into the domain of the operating system. Once properly arranged, a feature becomes universally available for a wide range of applications.

A technique used by these utilities is to use a feeder application that listens to the physical devices on a system, and in turn controls one or more virtual devices where the game or application is listening to. Mapping physical devices to a virtual device allows for e.g. dual joystick support in games that only support a single joystick, or enable multiple devices to bind to the one and same function in a game that only supports single controller bindings.

While this approach offers a lot of advantages, it also comes with a side effect. Most applications record the user interactions while binding a function with a control or button press. When a virtual device is used, the application receives input from two devices simultaneously. It will be notified by both the physical device triggered, and the virtual device that acts in turn! Some feeders have an option to spam the application repeatedly; however, that approach is cumbersome and error prone.

With HidHide it is possible to deny a specific application access to one or more human interface devices, effectively hiding a device from the application. When a HOTAS is preferred for a flight-simulator one can hide the game pads. When a steering wheel is preferred for a racing game, one can hide the joysticks, and so on. When, as mentioned above, a feeder utility is used, one can use HidHide to hide the physical device from the application, hence avoiding multiple notifications while binding game functions and device controls.

Package content

HidHide is a kernel-mode filter driver available for Windows 10 or higher (KMDF 1.13+). It comes with a configuration utility via which the driver is configured and controlled. The filter driver starts automatically and runs unattended with system privileges. A system reboot may be triggered after driver installation or removal. The configuration utility runs in the least privileged mode and doesn't require elevated rights.

User guide

The configuration utility allows you to:

  • Enable or disable the service
  • Specify which applications may look through the cloak
  • Specify the human interface devices that should be hidden from ordinary applications

The main dialog of the configuration utility offers two main tabs. Screen capture of applications tab

The Applications tab shows all white-listed applications that are allowed access to the hidden devices. Typically listed here are vendor-specific utilities for configuring the human interface devices, and feeder utilities. Entries can be added to the list by pressing +. Select one or more entries with the shift and/or control key and press - to remove entries from the list. Notice that the client replaces a logical drive letter by a full path. This is intentionally and offers some resilience for changes in logical drive mapping.

Screen capture of devices tab

Per default, the Devices tab lists all Gaming devices currently connected to the system. The list refreshes automatically when a new device is detected. The dialog offers two check boxes for filtering.

Via Filter-out disconnected one can extend the list with devices that were connected earlier to the system but are currently not present. With Gaming devices only one can limit the list to game pads and joysticks only. This feature relies on proper information from the device vendors. Some vendors however use vendor-specific codes. Be sure to switch off this filter should you notice that your gaming device seems absent in the list. The filters are ignored for devices that are selected for hiding, so that one has a complete overview on the hidden devices.

Last but not least, the Enable device hiding check box provides control over the HidHide service. When enabled it blocks access to the black-listed devices unless the application is explicitly white-listed. When disabled, all applications are granted access to all devices.

An entry in the list can be expanded to reveal the composite devices associated with a device and offers fine-grained control over a device. HidHide uses the selection also for a secondary purpose. Some legacy applications ignore the human interface device layer offered by the operating system and instead interact with the underlying device driver. Access to the underlying driver will be blocked when a device only has composite HID devices, and all are selected.

The expanded list may mark entries as absent or denied. absent entries appear when the device characteristics are altered. These are residual entries in the caches of the operating system, and can be cleaned-up using utilities like Device Cleanup Tool. denied entries appear for hidden devices when the configuration utility itself is not whilelisted.

Package integration

Installation packages and third-party applications can rely on the following two registry keys. "HKCR\Installer\Dependencies\NSS.Drivers.HidHide.x64\Version" signals the availability of HidHide and its version. "HKCR\SOFTWARE\Nefarius Software Solutions e.U.\Nefarius Software Solutions e.U. HidHide\Path" tells its location.

Third-party software deployment may benefit from the HidHide Command Line Interface (CLI) while deploying software. Please be conservative while altering a clients' configuration and only extend the configuration with new features offered. Don't assume exclusive ownership of the configuration settings as a recovery typically requires manual actions by the user.

Bugs & Features

Found a bug and want it fixed? Feel free to open a detailed issue on the GitHub issue tracker!

HidHide provides both logging and tracing. Logging can be found the Event Viewer under Windows Logs and System. Tracing can be found under Applications and Services Logs and Nefarius after enabling Show Analytic and Debug Logs. Extended tracing is available but switched off per default for performance reasons. Tracing is controlled using the wevtutil utility which is an integral part of the operating system. To enable extended tracing, open a command shell, and enter the following;

wevtutil set-log Nefarius-Drivers-HidHide/Diagnostic /e:false
wevtutil set-log Nefarius-Drivers-HidHide/Diagnostic /k:5
wevtutil set-log Nefarius-Drivers-HidHide/Diagnostic /e:true

Tracing adjustments remain in affect after a reboot. Restore tracing to its default level using the above sequence with /k:1 instead. Tracing to the debug console is enabled with /k:3 and /k:7 respectively.

Questions & Support

Please respect that the GitHub issue tracker isn't a help desk. Look at the community support resources.

Donations

Creating a utility like this requires time and dedication. Should you like to express your gratitude, consider a pledge for a game I'm rather fond of; the biggest crowd funded game currently in development Star Citizen. Be sure to apply a referral code at account creation as it gives a bit more in-game currency and can't be applied later on. My referral code is STAR-K6S5-KPY7 should you seek one. Have fun and see you in the verse!

hidhide's People

Contributors

black-seraph avatar catnavido avatar dependabot[bot] avatar lucaval avatar masterflitzer avatar nefarius avatar robbycbennett avatar shumatech avatar sitiom avatar toebeann avatar valkirie avatar xav83 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hidhide's Issues

Wrong whitelist checks due to Kaspersky Security Cloud

I'm using Kaspersky Security Cloud as an anti-virus software, but due to that, all whitelisted programs (in my case Joystick Gremlin) in HidHide somehow get redirected to \Device\HarddiskVolume4\Program Files (x86)\Common Files\Kaspersky Lab\klhk\klhk_x64\klhkum.dll during whitelist checks.

Meaning that the whitelist is completly non functional as the path never match.

The only time the whitelist actually work is if i deactivate Kaspersky, clear the whitelist and redo it and then launch any of the whitelisted applications while Kaspersky remain deactivated. Those applications are then properly recognized as whitelisted, but then if i reactivate Kaspersky they all once again get redirected permanently to the above dll no matter the actual state of Kaspersky until i once again deactivate Kaspersky and redo the whitelist.

Since i can't really play while keeping the anti-virus deactivated for lengthy periods of time i'm unable to make proper use of HidHide.

Help with API usage (blacklisting)

Hi,

I added all these HID and send with IOCTL_SET_BLACKLIST, but nothing change...

The paths yes, are added correctly to applications, maybe I don't have the correct HID? it's a DualShock V2.

@"HID\VID_054C&PID_09CC&MI_03",
@"HID\VID_054C&PID_05C4",
@"HID\VID_054C&PID_09CC&MI_03",
@"HID\VID_054C&PID_0BA0&MI_03",
@"HID\VID_054C&PID_09CC&REV_0100&MI_03",
@"HID{00001124-0000-1000-8000-00805f9b34fb}_VID&0002054c_PID&05c4",
@"HID{00001124-0000-1000-8000-00805f9b34fb}_VID&0002054c_PID&09cc",
@"HID\VID_045E&PID_028E&IG_00\3&8968588&0&0000",
@"HID\VID_054c&PID_09CC&MI_03\8&1657DD3C&0&0000",
@"USB\VID_054C&PID_09CC\6&1F6504EA&0&6"

image

EDIT1:

I want to remove "Wireless Controller".

Thanks in advance.

Originally posted by @tnt-debug in #16 (comment)

HidHide stops hiding controllers that have been re-paired

To reproduce, use a bluetooth controller that has been previously paired on Windows and checked as hidden on HidHide, and manually remove it in "Windows Settings > Devices > Bluetooth & other devices". Then, pair it again by clicking "Add device" in the same Windows settings area.

HidHide will still show that controller as checked in its configuration wizard, although it'll not actually hide the controller. Turning the controller off and on again still won't make HidHide hide the controller, neither will a system restart. Also notably, the controller name no longer shows as the generic "HID-compliant game controller", but instead whatever it has when it's not hidden.

This was tested with a Dualshock 4 and DualSense controller. I have to manually uncheck and check the controller again in the configuration wizard to fix this. I come across this a lot because I need to pair my controllers again after using it in a different device, otherwise Windows won't use it.

wrong volume in HidHideClient whitelist

Hello,
when i add a program from HarddiskVolume2 to the whitelist, HidHideClient add it as HarddiskVolume8.
This happens when my game drive ( Volume8 ) is mounted in a NTFS Folder on Volume2.
In HIdHide Log it Appears correct as Volume2

v1.1.50 CLI not fully working

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

Using the command line interface to temporarily hide 6 USB controllers.

The changes are reflected in the HidHide Configuration Client interface afterwards but not in (for example) the Windows gamepad control panel. So the changes aren't fully enacted.

But, when I change the status of any controller in the HidHide Configuration Client after the steps above, then all changes made through the CLI do also show up in the gamepad control panel.

Changes made directly through the HidHide Configuration Client work perfectly fine. And Windows/the gamepad control panel are not allowed through the cloack

Screenshots

HidHideCLI-Issue

Machine info

  • x64,
  • Windows version:** Windows 10 20H2
  • Software/driver version(s):** 1.1.50

Device access with HidHide installed is very slow

Migrated to HidHide 1.0.30.0 from HidGuardian, and it appears to work, but I've noticed significant slowdown and hangs in programs that attempt to access HID devices, including the HidHide Configuration Client.

The HidHide Configuration Client completely hangs for a good few minutes for the Devices tab to load.
joy.cpl takes a few minutes to show up, and also seemingly needs to be killed to close it.
Dolphin shows up after ~20 seconds, and hangs for ~10 seconds when closing.
I've also noticed similar freezes in Steam.

These hangs happen regardless of whether a controller is attached or not (in my case, a DS4).
I was able to verify that the driver is technically functional in DS4Windows, but this is kind of unusable.
For now I am forced to downgrade DS4Windows and use HidGuardian again.

Idea: Different input devices for different programs

I want to have an option to configure hiding different input devices per program.

I have many input devices and some programs don't work with my xbox controller because they see to many controllers. So I would like to hide these other controllers for some programs. But these other controlers I need for other programs. So it would be very helpful to have "profiles" or something to define different devices to hide for different programs.

HidHide not hiding real controller from Steam. Switching to Durazno^2 VC also doesn't work.

I am trying to hide the real controller so that Steam will be forced to use the virtual controller from Durazno^2.
image
image
image
However, the real controller keeps being detected by Steam controller configuration.
Switching to the virtual Durazno DS4/360 also doesn't work. After switching to the DS4/360 the controller configuration automatically goes back to the real controller.
image
image
image
image
image
Please let me know if you need any other information.

HidHide starts, but does nothing

The first time I tried it, it worked, but now it just won't, even though I have disabled my antivirus, and I have no idea why :( ... prerequesites are installed

Multiple feature requests/suggestions regarding client UI

1 It would be good to add the drag and drop of files to add them to the list.

2 Added the possibility of assigning a keyboard shortcut to activate or deactivate the device of our choice, or if it is easier to deactivate hidhide with a shortcut and re-use the same shortcut to reactivate hidhide.

3 Added the ability to start with windows in the notification area.

4 Added the possibility of deactivating hidhide by clicking on the hidhide icon in the notification area and when you click on it again it activates. And if you want to access the interface again added the possibility to right click on the icon and choose open or parameter or something like that.

5 Add the possibility to export the whitelist.

6 Add the possibility to choose if you want to enable hide a device for an element that has been added to the whitelist, because there are games that detect the controller when 'enable hide device' is checked and other games which does not need that 'enable hide device' to be checked for it to work, otherwise it will become a problem and must each time manually activate this checkbox, so the best is to create a profile for each element of the list which chooses which device element to be checked, but for the moment there is only 'enable hid device' which poses a problem for some games.

7 Add update search and a notification to say there is a new update

I think these are interesting things

Version 1.2.93 labelled as version 1.2.87.0

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

App is still labelled with the same version as previous to the update (which otherwise worked very smoothly, nice)

Steps to reproduce

  • have hidhide installed? (I did, Possibly not necessary)
  • update (or maybe install from scratch?)
  • be confused whether it is the right version or not
  • (optional) update again, uninstall, reinstall. Same.

Actual result: Version is not the new one
Expected result: Version is the new one

Screenshots

Note: Control Panel says new version, UI says old, file properties says old.
image

Machine info

CPU-Architecture: x86
Windows version: Windows 10 20H2
Software/driver version(s): Heh, good one.

Any other helpful information

I was trying the test build for inverting the list. The first night, it auto-updated to the same version, obviously not intentional, and I thought, I'll see if it loops or not before I report this (as in, is it doing it every time it checks or did it just do it once). It didn't, it just went the once, but it may be relevant now so I mention it. Today it updated and it really was an update, but...sorta?

[idea] Temporary apps whitelist

Would it be possibe for HidHide to have a temporary allow list that clears itself on a reboot? Instead of apps permanently auto-whitelisting themselves they could just request temporary allowance when starting. This could prevent the list from growing bigger in situations where the user keeps changing the location of the used app.

When HidHide is installed, Logitech LG HUB uses high cpu when the Logitech G29 wheel is connected

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

When HidHide is installed, Logitech LG HUB uses high cpu (~30% on my pc) when the Logitech G29 wheel is plugged in. When HidHide is not installed, cpu usage is normal.

Steps to reproduce

  • Have HidHide v1.1.50 Installed
  • Have Logitech G HUB v2022.5.263319 installed and running
  • Connect Logitech G29 racing wheel to G HUB

Actual result: CPU usage of G HUB rises to a high level and stays there while the wheel is connected
Expected result: CPU usage of G HUB should remain roughly the same as before connecting the wheel

Machine info

CPU-Architecture: x64
Windows version: Windows 10 21H2
Software/driver version(s): 1.1.50

Any other helpful information

This could very well be a problem with Logitech G HUB, but it only happens when HidHide is installed. G HUB is not the best software. Getting the wheel to connect often requires restarting the software, or replugging the wheel. But the high cpu usage only happens when HidHide is installed so there must be some sort of conflict there.

Feature Request: Blacklist for applications

Would it be possible to have a toggle for the application list to operate as either a blacklist or a whitelist. Currently there's only one program I'd like the devices to be blocked in and having a blacklist would be easier. I currently just keep it blank and just toggle the device hiding as needed.

HidHide understanding question / not working (maybe wrong usage)

Hello,

I don't really know if I understand the usage of this program..
Does it block the Key-Input from a HID to the system and only allows it to be send (seen) by a Re-Mapper program so I can remap the key to do something else and not do what the original key does?
Or does it just hides the HID to be seen so it cannot be selected as Input device.

I want to change the HID presses of my secondary Numpad ( I read this Issue: #4 but I saw that I can disable the "Gaming devices only" option inside the configuration utility and proceeded)

I installed HidHide v.1.0.30.0 -> Reboot -> uncheck the "Gaming Device only" option -> try to write numbers with the selected device inside Editor -> numbers appearing, doesn't seem to be altered at all

Does the statement "Mice and Keyboards are not supported" from the link above still applies to this and all following versions of the program or did it change?

Some Info about the following screenshot:
Is the "HID-compliant consumer control device" meant by HID Keyboard device? Because its the only device that I connected as an HID (Numpad).

2021-04-25_HidHide_Pic-1

Best regards

The name of a hidden device will change after refreshing the HidHide device list.

Using HidHide to hide my DualSense after allowing DS4Windows through so it's set as an Xbox 360 emulated controller. (To prevent double controller connections on games, as expected.) However, it changes the name to HID-compliant Game Controller after reopening the app or swapping in-app tabs.

This isn't a big deal if you only have one controller connected like myself, but this could become a mess if you have two or more in use at the same time. I'd like to see it save the original name and use that at all times for that device.

PS: Noting if a controller is connected via cable or bluetooth may help as well, if you have multiple controllers of the same type connected in different ways.

Before:
image

After:
image

HidHide Client is targetting the wrong harddiskvolume

When I try to add any executable in my C:\ drive with the client, it mistakes the correct volume. Here is an example:

image

DS4Windows automatically adds itself to the list, so the correct volume appears to it. Every other .exe I add targets the wrong volume.

Can't open HidHide Configuration at all. Crash on line 91 of the file "FilterDriverProxy.cpp".

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

Simply i can't open HidHide, i tried different versions but i always get the same error: "Something unforseen has happened which cannot be recovered from. Program execution has to be terminated. Sorry for the inconvenience."
I understand that's a problem that only I have, but i dont know ho to resolve it.

Steps to reproduce

  • Install HidHide.
  • Try to open it.

Actual result: "Something unforseen has happened which cannot be recovered from. Program execution has to be terminated. Sorry for the inconvenience."
Expected result: It should open normally.

Machine info

CPU-Architecture: x64 AMD Ryzen 5 2600x
Windows version: Windows 10 21H2
Software/driver version(s): 1.1.50 - 1.2.98

Any other helpful information

I don't know much about programming and this sort of stuff, only basics, but i tried debugging with Visual Studio 2019 and i can tell that the Debug of HidHideClient crash after a breakpoint on line 91 of the file "FilterDriverProxy.cpp".
Line 91: if (FALSE == ::DeviceIoControl(device, IOCTL_GET_WHITELIST, nullptr, 0, buffer.data(), static_cast(buffer.size() * sizeof(WCHAR)), &needed, nullptr)) THROW_WIN32_LAST_ERROR;

Feature request: Conditional filtering

So I have an interesting use-case where I have a DualSense plugged in and I'm filtering it so that only DS4Windows can see it and create a DualShock 4 controller. This is great for most situations, except for the part where Bluestacks 5 will also take input even when not in focus. Supposedly Bluestacks 5 will eventually bring back support for disabling gamepads, but it's unclear when this will happen.

In summary, I'd like to be able to do conditional filtering where one gamepad is blacklisted across all applications, while another gamepad is only blacklisted for certain applications.

Command line crash reported by Ezzelin on Discord

PS C:\Program Files\Nefarius Software Solutions e.U\HidHideCLI> .\HidHideCLI.exe

HidHide command line interface
Type help for options. Press CTRL-Z to save changes and exit. Type Cancel to exit without saving changes.

$ dev-all
CONFIGRET 0x00000025 at src\HID.cpp(222) `anonymous-namespace'::DeviceClassGuid: no such value
PS C:\Program Files\Nefarius Software Solutions e.U\HidHideCLI> .\HidHideCLI.exe

HidHide command line interface
Type help for options. Press CTRL-Z to save changes and exit. Type Cancel to exit without saving changes.

$ dev-gaming
CONFIGRET 0x00000025 at src\HID.cpp(222) `anonymous-namespace'::DeviceClassGuid: no such value
PS C:\Program Files\Nefarius Software Solutions e.U\HidHideCLI>

This is in shared code so the UI also crashes in this case.

White List doesn't work

For whatever reason, white listing doesn't work on my machine. At first Install it seems t work, but as soon as I reboot after the first time I install HidHide, the white listed apps doesn't see the devices anymore.
I am on W10 Pro. Not sure what info I could give to help nail the problem though.
The app I tried to white list are Joystick Gremlin and VKB config software.

As soon as I uncheck the hidden devices, they reappear in these apps.

Thanks for any insights.

HidHide device list is language-aware

Hello! Hidhide show me these devices:
image

It's using my Windows language and weird names like: "HID-compatible system controller" or "HID-compliant wireless radio controls".

Would like to see something like Virtual Controller provides as a hid device list:
image

Xinput controllers issues

Hi, I'm using GloSI to use my xbox one and xbox 360 controllers inside non steam games on my pc but in my congi I found that in some emulators when I'm using a xinput controlller (xbox one, xbox 360) they are not completly hiden, GloSI now isue HidHide to hide the controller so they can't do double inputs but I dont know if is a GloSI issue or a HidHide issue the emulators that not hide well the xinput are yuzu, dolphin, and pcsx2, I tested these with a DualShock 4 and because that gamepad is Dinput it works perfectly, please look into this issue, thanks!

Provide ARM64 builds

Some poor souls with 32-Bit machines exist, also ARM64 is on the rise, consider adding project configurations to support the mentioned architectures.

Add filter option for virtual devices

Because in most situations the user wants to hide only physical controllers, it would be good to have a filtering option that hides virtual controllers, making the usage more intuitive, though I guess that would only work if HidHide knows what to look for? (vigemBUS spawned controllers for example)

HidHide doesn't work with Rainbow6Siege

HidHide doesn't hide my controller from Rainbow6Siege. Despite hiding everything there is to hide R6S still reads input from my controller. I use xbox 360 controller drivers and because I have it on Steam I launch R6S throught Steam and Ubisoft.
Edit: For input I'm using AntiMicro and AntiMicroX alternatly (In case one of them isn't working.

Devices Tab in Config Client Stops Responding

I installed HidHide with no issues and hid the controllers I wished to when I first started up the configuration client. However, any subsequent time I try to navigate into the Devices tab on the config client, the client freezes and windows says it's stopped responding. I've noticed that a few times it will actually load after several minutes, but many times it simply seems to not work at all.

Additionally, though the Applications tab loads fine when starting the config client, it will freeze when trying to navigate back to it if the Devices tab does indeed load after a couple minutes of not responding. Tried uninstalling/reinstalling the client to no avail.

Does not work for multiple Windows user accounts

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

HidHide is unable to function in a situation where two people use the software on different user accounts.

Steps to reproduce

  • Install HidHide for User 1
  • User 2 is unable to launch the configuration utility
  • Reinstall for User 2
  • Installation is now broken for User 1

Actual result: Only one user is able to use HidHide on one PC.
Expected result: Both users are able to use HidHide.

Machine info

CPU-Architecture: x86-64
Windows version: Windows 11 21H2
Software/driver version(s): 1.1.50

Whitelist filling with random gibberish

I have been experiencing some odd behavior regarding the whitelist functionality in HidHide. When I try to add an application to the list, it gets flooded by these weird lines with random characters and file paths. The worst thing is that attempting to delete these erroneous lines from the list just produces more of them! Reinstalling did not fix the issue.
whitelist

Feature Request: Per game/app configuration

Great stuff!
My games (mostlys flight sims) are usually limited in the # of game device and I use different devices for different games.
So a per game config would be great to hide different devices for different games automatically.

> > This pre-release is working for me as intended, however, it's blacklisting DS4Windows every time I restart my PC. It was very useful with the whitelist, but I don't think it's intended for the blacklist.

This pre-release is working for me as intended, however, it's blacklisting DS4Windows every time I restart my PC. It was very useful with the whitelist, but I don't think it's intended for the blacklist.

What does that mean? What's your config? What's the exact behaviour?

I use DS4Windows to emulate a XBOX Controller, and I use HidHide to avoid dual inputs from the DS4 and Driving Force GT on games like FIFA.
I used to allow DS4Windows and my racing games through the cloak, but I'm trying this new feature to block only FIFA. It works (I'm checking the "Inverse application cloack" option).

However, every time I restart my PC, the DS4Windows is again on the list. Even if I remove it from the list, it comes back after the next restart.

Sorry for my english, but I hope I could be clear now

Originally posted by @gabrielmannarino in #5 (comment)

Unable to Install - No Internet Connection

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic
  • I have read https://vigem.org/Community-Support/

Bug description

When running the installer, a error pops up saying;
"HidHide requires an active internet connection for installation. Please check your network configuration and proxy settings".
I should note, I do in fact have a usable and stable internet connection through a cable.
Under Network Connections on Windows 10, I have a bluetooth network that isn't connected, a Ethernet connection that is connected, and a VirturalBox host-only network that is enabled but not being used.
I've also attempted to run the installer as admin, and go the same result.

Steps to reproduce

  • Download installer
  • Open installer
  • That's it.
    Due to the nature of the bug, I have no idea how to actually diagnose why this is happening or give any better steps to reproduce.

Actual result: Can't use the installer due to it not seeing my internet connection.
Expected result: Being able to install the program.

Screenshots

image

Machine info

CPU-Architecture: x64
Windows version: Windows 10 20H2
Software/driver version(s): 1.2.98

Rocket League

The docs mention Rocket League picking up controller 1 as an additional controller (thus creating a local party member) and blocking normal gamepad input.

I have this problem only after Windows 10 64 bit (21H1) resumes from sleep state. Everything works after a reboot, and I haven't found another game that has this issue (though I haven't been playing many local co-op games lately).

I'm using a genuine DS3 with DS4Windows. This issue does not occur if use SXS in DsHidMini, but that isn't a viable solution for me since I get weird input lag and I'd rather not use the Steam Configurator for the controller.

If this is a known issue, I am a developer and I may be able to help patch it.

I'm using a wired USB connection. I don't have BT. The controller LEDs are off after the wake from sleep and I have to unplug it and plug it back in to get HidHide and DS4 to see it. What is interesting is even with the controller powered off, Windows still thinks a device is being disconnected when I unplug it (it plays the USB device disconnection sound). I haven't been able to find the device it thinks is still connected. I have HidGuardHelper on my computer but it doesn't seem to do anything. HidGuardian is not installed (I verified that with the Installer from Google Drive).

I definitely only have one gaming device connected at all times. I have used XBOX 360 controllers in the past, and the drivers for those are still installed, but they are not connected at this time.

I have tried every possible combination of settings that I can think of:

*Whitelisting RL or not in HidHide
*Whitelisting DS4 (or not) in HidHide
*Adding a profile for RL in DS4 or not
*Hiding or not hiding the controller in HidHide and/or DS4
*Using shared or exclusive mode (or Dynamic or Permanent profiles) in DS4
*Various checkbox (red lock) states in HidHide for different devices

In total I've launched the game about 40 times with different configurations and the only thing that I've found that fixes it is a reboot.

I suppose it is possible that default settings would've worked and I just didn't know what I was doing when I first installed everything, and by trying to prevent the issue, I may have caused it. But I don't think that is the case. I didn't really change many settings until after I noticed the issue after the first resume from sleep.

Here's a screenshot of my most recent DS4 log

image

The issue occurred after the second start up at 2:27pm. I didn't find anything that I thought was useful under Nefarius in the Windows event viewer.

HidHide broken on latest windows insider update

Bug description

HidHide has stopped working properly with the latest windows insider build.

Steps to reproduce

  • Update windows 11 to Insider build 22579.1
  • Open DS4Windows with HidHide running. (The lock icon displays on DS4Windows under EX, suggesting that it's functioning)
  • Open game

Actual result: Controller inputs are not being recognized with desired game (Specifically, Honkai Impact 3)
Expected result: Controller works as intended with desired game

image

Edition Windows 11 Pro
Version 22H2
Installed on 3/20/2022
OS build 22579.1
Experience Windows Feature Experience Pack 1000.22579.1.0

Terminating with "Something unforseen has happened..." in Device tab of HidHide Configuration Client

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

When switching from the "Applications" tab to the "Device" tab in the HidHide Configuration Client, an error is produced: "Something unforseen has happened which cannot be recovered from. Program execution has to be terminated. Sorry for the inconvenience."

Steps to reproduce

  • Install HidHide according to the guide, including prerequisites.
  • Make sure that conflicting software is removed or inactive.
  • Open HidHide Configuration Client
  • Switch tab to "Devices"

Actual result: "Devices" tab is displayed alongside mentioned error, preventing further interaction with the client and then terminates.
Expected result: "Devices" tab is displayed, showing active devices and allowing options to be enabled or disabled.

Screenshots

image
"Applications" tab including whitelisted apps.

image
"Devices" tab displaying the mentioned error.

image
Windows Event Viewer log of the error.

Machine info

Microsoft Surface Laptop 3

"Device Specifications"
Device name LAPTOP-2MD7FKAQ
Processor Intel(R) Core(TM) i5-1035G7 CPU @ 1.20GHz 1.50 GHz
Installed RAM 8.00 GB (7.60 GB usable)
Device ID Probably not important
Product ID 00342-23779-84602-AAOEM
System type 64-bit operating system, x64-based processor
Pen and touch Pen and touch support with 10 touch points

"Windows Specifications"
Edition Windows 10 Home
Version 21H1
Installed on ‎ 12/‎27/‎2021
OS build 19043.1415
Serial number 025769604257
Experience Windows Feature Experience Pack 120.2212.3920.0

HidHide Configuration Client v1.1.50.0

Controller connected: DS4 v.2 via USB

Any other helpful information

https://github.com/ViGEm/HidHide/blob/ada5cc1dc997ebbe9e4776c1855edbef404bdc66/HidHideClient/src/HidHideClient.cpp#L155
https://github.com/ViGEm/HidHide/blob/ada5cc1dc997ebbe9e4776c1855edbef404bdc66/HidHideCLI/src/HID.cpp#L286

I made this issue, even though there are 2 other similar issues on the repo for two reasons:

  • There are no open issues related to mine.
  • I believe the root of my issue is unique, since the Event Viewer produces different logs of the error compared to similar issues.

Cannot select Flight Simulator 2020 (Microsoft Store Edition)

Not sure if this is a bug with the Windows UMP apps but I cannot select Flight Simulator 2020.exe. It will give an error saying I don't have permissions. Tried the new beta Xbox app, which lets you relocate the folder outside the WindowsApp protected one, but the issue still occurs. Open to suggestions!

Signal for active device

In devices tab, there is a lot of same-named devices, it's hard to distinguish which device need to checked and get invisible.
It's good to have a feature that Highlights the device which Interacted/Button-Pressed and then user knows that device is the thing!

HidHideCLI's `--dev-all` command does not seem to work as intended

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

The help command suggests that --dev-all should list all HID devices, whereas --dev-gaming should filter the list by into gaming devices only, however --dev-all only produces the same output as --dev-gaming.

Steps to reproduce

  1. Run HidHideCLI.exe --dev-gaming
  2. Run HidHideCLI.exe --dev-all
  3. Compare output of steps 1 & 2
  4. Open HidHide Configuration Client
  5. On the Devices tab, uncheck Gaming devices only
  6. Compare this list with the output of step 2.

Actual result: At step 3, the output of steps 1 & 2 is identical. At Step 6, the list shows many more entries than the output of step 2.
Expected result: The output of step 2 should show the same devices as the list from step 6, and quite likely the output of steps 1 & 2 should be different at step 3.

Screenshots

image
image

Machine info

CPU-Architecture: x64
Windows version: Windows 11 Pro 21H2
Software/driver version(s): 1.1.50

Any other helpful information

HidHide hides controller from DS4Windows if it points to DS4Windows linked through a directory junction

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

DS4Windows doesn't detect the controller if I add the application from the directory junction, meanwhile it works if I add it from the real directory

Steps to reproduce

  • Install ds4windows from Scoop.
  • Add the DS4Windows executable to the application whitelist from the directory junction (current)
  • Hide the controller
  • Open DS4Windows

Actual result: The controller is not detected in DS4Windows
Expected result: It is supposed to access the hidden controller.

Screenshots

Real directory:
image
Junction:
image

Machine info

CPU-Architecture: x64
Windows version: Windows 11 21H2
Software/driver version(s): 1.2.98

Additional Information

From https://forums.vigem.org/topic/579/hidhide-hides-controller-from-ds4windows-if-it-points-to-ds4windows-linked-through-a-directory-junction/3

Hiding of PS5 Controller not working after Windows 10 21H1 Update

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Thanks for this tool. Really working great in use with DS4Windows!

Bug description

After updating to Windows 10 21H1 it seems like i cant hide the original PS5 Controller anymore. DS4Windows shows the device with HidHide exclusive access. setting were not changed inside DS4Windows. Tried rehiding the device and multiple restart but can't get it to work.

Steps to reproduce

Didnt to anything except update to 21H1 With Build 1904.1237

Actual result: Device is still shown inside game (Trackmania) and joy.cpl also shows the device even if its hidden in the configurator.
Expected result: Hiding of the PS5 Controller.

Screenshots

image

Machine info

CPU-Architecture: x64,
Windows version: Windows 10 21H1 (Build 1904.1237)
Software/driver version(s): 1.1.50.0

Any other helpful information

Is this maybe also related to #39 ?

Some games that don't get blocked

I've found a few games in my library that still receive inputs from my controller, even if they are being blocked by HIDHide and the game is not whitelisted. I've tested them with DS4Windows turned off and HIDHide active, to make sure that it isn't DS4Windows doing something weird.

  • Two Point Hospital
  • Breakwaters (Beta)

More info found on the discussion on DS4Windows
Ryochan7/DS4Windows#2323

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.