Ryochan7 / DS4Windows

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

Hide DS4 Controller as part of profile #104

Closed puckle closed 7 years ago

puckle commented 7 years ago

Hi, I wonder if we could store the "Hide DS4 controller" option from the settings menu in individual profiles? Some games need that option either on or off to work correctly, so assigning it to a profile would be helpful.

shinra358 commented 7 years ago

just use it for all games. no reason to do this. ive never ran into a problem at all with any game that supposedly needed it 'off'.

puckle commented 7 years ago

With Hide DS4 Controller unchecked, CEMU only sees one of my DS4 controllers, but using this setting causes FIFA 16 to hang on the loading screen for me. So to play FIFA16 I need to check hide DS4 to use CEMU (and some other emulators like retroarch) with 2 controllers I need to uncheck hide DS4.

shinra358 commented 7 years ago

if it's the only game with the problem, then it's the game.

puckle commented 7 years ago

Also, with hide DS4 unchecked some games see pressing the trackpad and the guide button as extra buttons, with it checked they'll not register them. (More than one game)

Obviously it's easy enough to come out of the game and check / uncheck the box, but if storing it's state in a profile would be easy to do, it would be nice to have for fussy people like me.

shinra358 commented 7 years ago

Name said games. Whenever ppl prance around the issue like that, it didn't happen xD If I remember correctly, back when j2k was doing this, I asked for an item from that section to be in a profile and he said most things there cannot be put in the profile. He gave a reason but I forgot : P

puckle commented 7 years ago

As mentioned, FIFA16 crashes with Hide DS4 unchecked although so far that is the only game this happens with.

Rfactor 2, CEMU, Assetto Corsa, Automobilista (probably all isimotor games, but can't be bothered to check.) all have the following issue:

With Hide DS4 unchecked the games / emulators see the guide button and the trackpad press as buttons 13 and 14. With hide DS4 checked the games ignore those button presses altogether.

Try it yourself, download CEMU, go to configure controls. Select Wii U Gamepad as the controller to emulate. With hide DS4 unchecked, it's possible to assign the guide button and trackpad to "blow mic" and "show screen" Hide DS4 checked there aren't enough useable buttons to assign those final 2 function.

That's the easiest way of proving that there is a notable difference between the two settings.

I'm sure I could find more games and emulators in my collection that could be added to the list, but I don't see the point just to prove I'm not making it all up.

If my request gets added then great, if not, I'll manage by checking / unchecking the box as necessary, or creating profiles with key presses assigned to the two buttons. It's no biggie, just a thought really.

Thanks for taking the time to respond anyway :)

shinra358 commented 7 years ago

there is no reason why it should be unchecked. this program is meant to utilize xinput. If you want to utilize dinput, you don't need to even have the program. Cemu doesn't need a guide button because it doesn't have an equivalent button. If you want to use dinput for cemu, turn ds4 windows off and just select dinput inside cemu : P

Miltrivd commented 7 years ago

Having DS4Windows still open but not working as a xinput mask would allow to keep all DS4Windows features while still using the controller as DINPUT. Controller remapping, touchpad remapping, macros, sensitivity changes, etc. DS4Windows is much more than just a xinput emulator. This request would also be quite useful for games with native DS4 support.

Ryochan7 commented 7 years ago

As discussed in issue #120, that is not possible. Once DS4Windows sends an output report to the controller, the behavior of the DirectInput controller changes. Any process that does not have a handle for the device already will likely not be able to use it properly. A lot of features in DS4Windows depend on sending that initial output report. That is one big reason that DS4Windows releases control of all controllers when the native DirectInput controller is needed.

There might be ways to be able to toggle Hide DS4 Controller per profile but not with the current way device handling is done.

On Oct 15, 2017 8:32 AM, "Miltrivd" notifications@github.com wrote:

Having DS4Windows still open but not working as a xinput mask would allow to keep all DS4Windows features while still using the controller as DINPUT. Controller remapping, touchpad remapping, macros, sensitivity changes, etc. DS4Windows is much more than just a xinput emulator. This request would also be quite useful for games with native DS4 support.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Ryochan7/DS4Windows/issues/104#issuecomment-336711809, or mute the thread https://github.com/notifications/unsubscribe-auth/AAjhUBT-i05ED7itW3c7c3fqKaYdbb-iks5ssglegaJpZM4OyExj .