Skip to content

Make the controller in DS4 Mode hidden by default #59

@Kanuan

Description

@Kanuan

Related to #23

The issue

DS4 Mode presents the controller as a HID compatible Gamepad. Because of this, this device needs to be hidden with HidHide/HidGuardian, which adds complexity to the setup.

Proposed solution

Change DS4 Mode HID Descriptor so that:

  • The Usage page is Vendor-Defined
  • Usage is 0x01 (Generic Desktop Control?)

This branch of DsHidMini has these changes implemented.

Making this changes makes the controller be presented as a vendor defined device, so it is mostly ignored by aplications. The usage needs to be 0x01, as setting it to 0x04 or 0x05 (Joystick and Gamepad respectively) still make the original controller detectable by some aplications.

Potential issues with the proposed solution

DS4Windows changes

DS4Windows only checks for devices if their usage is 0x04 or 0x05. Since the DS4 Mode usage will 0x01, 0x01 detection support needs to be implemented on DS4Windows side.

This branch of DS4Windows has the changes implemented.

DS4Windows does not detect the device if DS4 Mode is the default mode on driver installation

If DsHidMini's .inf file is altered so the default mode on installation is "4" (DS4 Mode), the device will not be picked by DS4Windows for unknown reasons. Changing to another mode and back to DS4 mode again will not fix the issue.

If the default mode on installation is any other and the mode is changed to DS4 Mode afterwards then DS4Windows will detect the device.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CoreCore/Common Driver TopicenhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions