This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Supported controllers

Controllers that are currently supported by the application

Currently supported controllers:

  • DualShock 4
  • DualShock 3
  • DualSense
  • DualSense Edge
  • Nintendo Switch Pro Controller
  • Nintendo Switch Joy-Cons
  • Razer Raiju
  • Razer Raiju Tournament Edition
  • Razer Raiju Ultimate
  • Moonlight/Sunshine
  • Hori PS4 Mini Controller
  • PS4 Fun Controller
  • Steel Play Metaltech P4 gamepad (wired)
  • Hori Fighting Commander
  • Nacon Revolution Unlimited Pro
  • Nacon Revolution Pro v3
  • Nacon Revolution Infinite
  • Astro C40
  • Specialist PS4 controllers
  • SnakeByte Game:Pad

1 - DualShock 4

DS4 remarks
  • All controller features are supported except the integrated headphone jack and speaker
  • The headphone jack can only be used via USB and only with a DS4v2 (native gamepad function, unrelated to DS4Windows)
  • The headphone jack can only be used wirelessly if the controller is connected via Sony’s DualShock 4 Wireless USB adapter
  • Bluetooth 2.1 + EDR or higher required for wireless connection

2 - DualShock 3

DS3 remarks
  • Needs to be running under DsHidMini driver and in DS4Windows Mode
  • Requires BthPS3 for Bluetooth connection (covered on DsHidMini installation guide)
  • Rumble works as normal, though the small motor has only one strength level
  • LEDs can be controller by setting the correct lightbar colors, more about it here
  • Pressure sensitive buttons not supported
  • Motion related functions not supported
  • Bluetooth 2.0 + EDR or higher required for wireless connection

3 - DualSense

DualSense remarks
  • Most controller features are supported
  • The headphone jack and microphone can only be used when used via USB (native gamepad function, unrelated to DS4Windows)
  • Adaptative triggers are supported but can only be used in limited forms
  • Advanced rumble effects are not used. Rumble acts as common one
  • Bluetooth 2.1? + EDR or higher required for wireless connection (necessary confirmation)

4 - Nintendo Joy-Cons

Joy-Cons remarks
  • LEDs cannot be controlled
  • HD Rumble not used. Rumble acts as common one
  • Motion sensors are supported
  • Can be used in joined or split mode
  • NFC not supported
  • Because the ZR and ZL are buttons and not triggers it may be difficult to play games that make use of analog triggers
  • Bluetooth 2.1? + EDR or higher required for wireless connection (necessary confirmation)

5 - Nintendo Switch Pro

Nintendo Switch Pro Controller remarks
  • LEDs cannot be controlled
  • HD Rumble not used. Rumble acts as common one
  • Motion sensors are supported
  • NFC not supported
  • Because the ZR and ZL are buttons and not triggers it may be difficult play games that make use of analog triggers
  • Bluetooth 2.1? + EDR or higher required for wireless connection (necessary confirmation)

6 - Replicas

Replica/copy-cat controllers remarks

If a gamepad is made to be a complete replica of a official one, meaning that they act exactly as the original controller and appear to Windows as such, then chances are DS4Windows will just detect it as being the official controller and it may just work. For example, 8bitdo controllers that are compatible with Nitendo’s Switch usually present themselves as a replica of the Pro Controller and can be used as normal with DS4Windows.

For cases where the gamepad presents itself differently than the official one to the system (most DS4 replicas) then DS4Windows will not recognize them. DS4W detects controller by their Vendor and Product Identification (VID/PID), meaning that if a controller’s VID/PID is not already on DS4W code then it will just be ignored.

Adding support to new copy-cats may be as easy as just adding their VID/PID to the code or as hard as making major changes to the internal structures of DS4Windows. If you have a unsupported copy-cat feel free to reach us and kindly ask for it to be added to DS4Windows code while providing the maximum amount of information on it.

7 - Moonlight/Sunshine

Moonlight/Sunshine virtual controller guide

Moonlight virtual controller is supported from version 3.7.0 up. You can enable it in Settings -> Device Options -> Moonlight Support.

Support modes

Simple support

Not selecting Advanced Support means you’re using the simple implementation of the support, which should be sufficient for most users.

Technicalities

When a new controller is detected, its checked for being virtual. Normally, if it’s detected that it’s a virtual device, it simply wouldn’t be added to the controllers list. However, this behaviour makes the detection of the Moonlight virtual controller impossible. To counteract this, this support mode makes all devices with a matching Vendor and Product ID skip the check.

When to use it

If you can connect both physical and virtual controllers and all the behaviour is as usual.

Advanced support

This option is meant to counteract what is described in this issue. This behaviour doesn’t appear to be consistent across all machines. Most users should never have to use this option. It does its work to counteract that issue, but it’s got its tradeoffs.

Namely, you cannot connect 2 devices one right after another, you have to wait for 5 seconds after connecting one. Additionally, sometimes you will have to disconnect a device that’s already connected for the program to detect more controllers.

Technicalities

To counteract the issue, a timeout on device detection is used. For 5 seconds after connecting a controller, any further detections are skipped.

When to use it

If when using simple support you connect a single controller and the program starts adding multiple devices to the list.