Ryochan7 / DS4Windows

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

[Enhancement] Move "Rumble Emulation" from Device Option to Profiles (or add override for this setting on the profile level) #2482

Open thedaryen opened 2 years ago

thedaryen commented 2 years ago

This setting causes a bit of an inconvenience for DualSense controller users. Basically, when playing a game that does not support Advanced Haptics from the DualSense (i.e.: most games), Rumble Emulation is a good setting to have ON.

However, if the game DOES support haptics (small, but steadily increasing number of next-gen console ports on PC), you have to set this device option to OFF for haptics to work, otherwise you're left without rumble OR haptics.

It's not very user friendly that the only way to change this is by manually opening the program and messing with the device options every time you start and/or stop playing a game that supports haptics or one that doesn't. Being able to tie this setting to a profile so the user can change it easily with a button combo would be ideal.

Another scenario that causes this problem is for users that play wired at times and wireless at others. As haptics are not supported wirelessly, when using BT, the user would want rumble emulation ON to at least get basic rumble functionality. However, when plugging in via USB, the user has to manually turn it OFF if they want advanced haptics.

While one might argue that haptics enabled games don't even NEED DS4Windows to work, users (such as myself) might still want DS4Windows running to have the touchpad to mouse functionality that DS4 Windows provides enabled even when playing games that natively support the DualSense, as well as other handy features (special actions for example).

Yohoki commented 2 years ago

Either place you put it, the user is going to have to go into D4W to change the setting at some point or another. But this really is a profile setting. Not every game needs haptics on/off. Similar to how not every game supports DS4, so we have XBox emulation in the profiles.

What I would recommend doing is having a couple copies of the Default profile, with different settings. I've actually got 4 (Standard DS4, DS4+ an alt-tab button, Standard Xbox and Standard Xbox+ alt-tab). Have one Standard DS5 profile, and one with haptics off. Set the right profile in auto-profiles and you'll never need to switch the setting again.

You could also use a Special action to switch profiles when you plug in or unplug... I do this with Emulators, to switch between Mouse controls and Game controls, for if I need to edit emulator settings. I have my emulators to use a swipe left to switch to mouse controls, and a swipe right to switch back. Does it require 2 profiles for each emulator? Sure. But is it a LOT easier to swipe than to go into settings and manually fix the problem. Heck ya. image

thedaryen commented 2 years ago

Yeah, but the problem is currently there's no way to have a profile with Haptics off because that's not a profile option, it's a device option. If it was a profile option, one could easily create a wireless and wired profile and quickly switch between them using special actions (touchpad swipe as you suggested) and avoid messing with the GUI everytime.

Yohoki commented 2 years ago

Ah. I see what you're saying. I thought it WAS a profile option and you were saying to put it in options instead. We'll have to see if that get's changed as the Dualsense gets more support, since it's still fairly a new addition, especially if we count the vacation time the dev took.

That doesn't sound like a hard fix to me, though. Might play around and see if I can find a way to do that without butchering the code too bad. (I make no promises. I tend to butcher codes pretty bad)