No announcement yet.

Map Pressure Sensitive Face Buttons?

  • Filter
  • Time
  • Show
Clear All
new posts

  • Map Pressure Sensitive Face Buttons?

    Hello ReWASD Devs,

    I just got the program earlier today, and I am impressed with the amount of features and slick UI. Your program has allowed me use my Dualsense controller with PS Now on my PC, which I am super thankful for! I do have one feature request though that I hope will be possible. If it already is possible through some mapping/combo method, please let me know how I could enable it. Otherwise, I would very much love for this feature to be added.

    The feature I am referring to would be: the ability to enable the mapping of different pressure sensitive inputs for the face buttons. Essentially allowing the buttons to have analog inputs that could be mapped, OR to allow having different states/zones of each button mappable. We wouldn't necessarily need a full analog scale feature; but at least 2 states, where there can be a "light" button press, and a "firm" button press. For example, maybe allowing a setting in which you can map a key combo or mapping that will allow the circle or square button input to be read as a "light" hold or press. You appear to have something kind of similar with the L2/R2 "Zones"

    I ask because this feature would very much make certain games that make use of this type of button feature much more enjoyable.

    For example:
    In Metal Gear Solid 2 and 3, lightly holding the square button will aim your weapon without firing, and pressing it down firmly will fire it upon release (or upon firm press for automatic weapons). Additionally, in Metal Gear Solid 3 you can hold a guard in a chokehold by lightly pressing circle, allowing you to perform a secondary action while holding them; whereas pressing down firmly on circle will slit their throat instantly. In these scenarios you cannot aim without firing, or perform a chokehold without slitting a guard's throat instantly. Unfortunately this removes some significant mechanics to the games which force players to come up with and use work-around methods.

    From what I understand that both the Dualsense and Dualshock 4 controller hardware lack the pressure sensitive face buttons that used to be present in the Dualshock 2 and 3 controllers, and I imagine most other controllers do not have this feature either. So if there was any way to emulate those type of pressure sensitive "states" or "zones" and allow them to be mapped in some way I would greatly appreciate it!


  • #2

    As far as I know, Sony has stopped making analog face buttons since DS3, so with DualSense, all face buttons are working as ordinary digital buttons. So there is no difference in light and firm modes, and reWASD can't add separate mappings in this case.

    However, there are many ways to get more out of digital buttons in reWASD. For example, you can try Activators and map one action to the Single Press and the second one to the Double or Long Press. I understand that it is not the same, but maybe you can just try this option?


    • #3
      Thank you for your response!

      Yes, playing around with the single/double/long press options were what I had in mind, but I do not see any way to map the different light or firm presses at this time.

      I was able to create this sort of setting in PCSX2 (PS2 emulator), but I was only able to create 1 setting to function at a time, so I had to pick between a light or firm button press, without the ability to have both available simultaneously, unless the second one was mapped to a different input. I see the potential for ReWASD to be able to do the same thing, except since ReWASD allows you to utilize key combos or different press styles for more customization, this could potentially be much better handled in ReWASD.

      Despite most controllers not having pressure sensitive buttons, the developers of PCSX2 managed to allow for customization of the sensitivity of each button. I was able to do this with a 3rd party controller at the time. Take a look at the screenshot below:

      Circle Button Sensitivity Setting

      Messing around with these settings in PCSX2, I came up with a custom configuration that I was able to sort of use:

      -Square Sensitivity to 0.195
      -Map L3 to Square
      -Press Square to aim, L3 to shoot. Does not work for pistols.
      -To lower pistols exit 1st Person View, quick unequip.

      -Circle Sensitivity to 0.525
      -Square Sensitivity to 0.072
      -Map Touchpad to Circle
      -Grab enemy with Circle, Touchpad to slit throat.
      -L3 only mapped to L3, for interrogation
      -Square Sensitivity works, but not for tranq gun, shotgun. Use quick unequip to lower those.
      -Only works for M16

      As you could see, I was able to use the configuration within PCSX2 to force a button input to be read as a "light" press. THe only problem was that I then had to map the regular/"firm" press to another button. In these cases I used L3, or the touchpad. Not the most ideal, but it sort of worked. The main problem there was that it was limited to games played within their emulator, whereas ReWASD could be used across different programs.

      Do you think enabling something similar would be possible? If so that would be awesome, and it would allow me and other players of these games to play them on PS Now, with potentially even better methods to get around the lack of pressure sensitive buttons.

      Thanks again for your response!


      • #4
        As it was mentioned by reWASDer above, since DS3 all face buttons are working as ordinary digital buttons. So face buttons of DS4, Xbox 360 and Xbox One that we can emulate, can have only 0 or 1 values when pressed. Which means that it's impossible to send out something in-between for those buttons with reWASD. But if PCSX2 is able to map, let's say, keyboard keys to face buttons of certain pressure value, you could use a [Combo] that would press those keys in order, or map to those keys via different [Activators]. Otherwise you could use [Shifts], so when you press [Square] it would map touchpad to a key/button, that is mapped to fully pressed [Square] in PCSX2.


        • #5
          Thanks for your response Shion!

          Your recommendation to use ReWASD's features to enhance the experience in PCSX2 are pretty good ideas. Unfortunately I do not intend to use PCSX2. I am instead on a mission play the Metal Gear Solid games via PS Now due to the improved and more consistent graphical presentation (there are some weird graphical glitches in PCSX2). I was only referencing PCSX2 because they allowed button values between 0 and 1 to be mappable to any input, which is how they enabled me to emulate pressure sensitive presses while using a controller that did not physically have pressure sensitive buttons.

          You mentioned that it would be impossible to emulate face button presses between 0 and 1 values, because they technically don't exist for the DualSense and the other controllers you mentioned, which makes sense. But are you also saying that it would be impossible to add the ability to set a pressure value between 0 and 1 for a face button like circle, and then assign that specific chosen input value for circle to a different input like the touchpad (in the way PCSX2 can)?

          Thanks for your time!


          • #6
            Hey there!

            I assume that the emulator you mention does the following: once you press a normal digital button, the half-pressed PS2 button is emulated. If the game has a special action for the half-pressed button, it understands it. However, it is not possible to do the opposite thing, because it's 0 or 1 on all new gamepads. I will re-check PSCX2 to be sure that I understand this case correctly, but I can't promise you anything.


            • #7
              Hey reWASDer!

              Yes, you are correct, in that the emulator lets you emulate a light press by allowing you to set a custom value between 0 and 1. So even with a digital button, any input you assign to that button would be read as a light/half press if the value was low enough.

              In one of the examples I gave I was able to emulate a light press of circle by adjusting the Circle Button Sensitivity to 0.525, and then map that to the digital circle button on my controller. I then mapped the touchpad to be read as a firm/full press of circle.

              To access this customization in PCSX2 you go to Config > Controllers (PAD) > Plugin Settings > PAD 1

              Once you are there you can map the inputs for each button by selecting the button and then recording your desired input. Your inputs will appear on the left side of the window, once they are mapped. It is there where you can select a button (circle for instance) and then set the value for sensitivity.If the game itself can recognize the different type of press, then it will work.

              I appreciate any time you spend looking into this, and I understand that you can't promise anything right now. I know it is a pretty niche use case, especially since not many games use pressure sensitive face buttons. So even if you find that it is technically possible, I understand if it is a low priority item.



              • #8
                It just now occurred to me that if this feature were possible for ReWASD, I think you'd actually have to add a "Virtual DS3" option under virtual gamepads. I'm not sure if this sensitivity feature would work otherwise, since a DS3 would technically be the controller which has this capability that would be read by the games that use it.

                PS Now allows you to use a DS4 or DS3 controller to play PS3 games. So I used ReWASD to emulate a DS4 controller, but since the DS4 controller doesn't have the features mentioned, I think you and Shion were correct in saying that the virtual DS4 could not emulate anything other than 0 or 1.

                I think the complication of this matter came from myself assuming it'd be possible under a virtual DS4 if it has similar settings to the input mapping in PCSX2. Apologies for that!

                If I understand correctly, PCSX2 emulates a virtual PS2 DualShock 2 controller. So this allows you to emulate your inputs as a PS2 controller, even if you're using a non-PS2 controller that does not have the pressure sensitive features like DS4, DualSense, etc.

                So with that in mind, I think you guys would need to implement a Virtual DS3 option for the requested feature to work correctly.

                Sorry I felt like I might have overcomplicated everything

                Thanks for your time!


                • #9
                  Hey there!

                  I am not sure if I understand you correctly. You want to get two different behaviors on one button of DualSense controller. Even if you remap it to a virtual DS3, you won't get different button behavior on your physical controller that doesn't support it.

                  I do think you should check Activators, they are almost perfect for your case Light Press = Single activator. Firm Press = Long activator. Also, it is better to set a smaller Long Press time in Preferences -> Press time tab, and you will get the following:

                  - once you press and release a button (quickly) — you get action 1
                  - once you press and hold a button a bit — you get action 2

                  And you will be able to choose which actions you can map here for any game. Yep, it is not the same thing but pretty close I hope.


                  • #10
                    Hey reWASDer,

                    No that's not exactly what I meant. I really want to use Activators, exactly like the way you mentioned; but there is no option for firm/light press in ReWASD that I can use with them, so there is no use case for me right now.

                    Using Activators in ReWASD for this purpose should work if I use a program that also allows me to customize inputs, like PCSX2, but that's not where I will be playing the game. I was only using PCSX2 as an example of how I think you guys could implement this feature request.

                    Since the DS4 does not support pressure sensitive buttons, I do not think it would work properly even if you guys added custom button sensitivity feature for DS4. Shion explained these points pretty well earlier. It was my fault for not completely understanding the obstacle until recently, and so I don't think I was making complete sense in the beginning.

                    Not until my very last post did I realize that a platform like PS Now on PC, can technically only read DS3 and DS4 controller inputs right now. Since DS3 controllers are the only ones with pressure sensitive buttons, I think it makes sense that the PS Now would only understand the differences between light and firm presses from a DS3. It probably was not programmed to read that type of input from a DS4, because it's technically impossible. So all the games there would only be able to register pressure sensitive button inputs from a DS3. So basically I need a way for the program to think I have a DS3.

                    For this to work, I think you would have to create the option for users to emulate a Virtual DS3 controller. Then, you could add options for the x, square, circle & triangle buttons in the Virtual DS3 to have custom values between 0 and 1. Then someone like me who wants to use that feature can use Activators to choose and map specific values for each press. Light = Single, Firm = Long, exactly how you described.

                    Let me know if that makes sense. I think that's the only way ReWASD could fix this type of issue from playing games like these, based on what I understand.



                    • #11
                      I am sorry, but it seems I can't understand you

                      Yes, your request about DS3 is clear. I am not sure if it is possible, but let's say that yes.

                      So, you have a virtual DS3 controller. The game will be able to detect light and from press on this controller. That's OK. But still, you will need to press buttons on your device digitally. So, the only thing you will be able to do is to map "light" and "firm" presses to some other button you have on your gamepad (seems you have tried the same with the emulator).

                      I think, you can achieve the similar behavior if you change the in-game settings. So, in a game, you should try to map the action that is assigned to "light" press to some other button, and then press this one on your DualSense that is switches to the virtual DS4.


                      • #12
                        Hey reWASDer,

                        Correct! I think you do understand.

                        Yes, I understand that I will still have to map the different light/firm presses to separate inputs because the buttons are digital and not analog. I understand that it is not possible to do both on the same button press. I hope that maybe Activators can help me do this. So if you guys are able to add the function of a Virtual DS3, and then add the option for custom sensitivity for face buttons, I can try to map them using Activators, or maybe with a Key Combo, or just simply to another input on my controller. Somehow I think it will be possible, if you guys are able to add the features requested.

                        Unfortunately there are no in-game settings for these games I mentioned that allow any changes to the controls on the platform I am using. This is why I was asking if ReWASD could do it, because right now that is the only way.



                        • #13
                          Can't promise anything right now, but we will think what is possible to do for sure!


                          • #14
                            Thank you! I appreciate it!


                            • #15
                              Thank you ArzePoetic for your explanation about Pressure Sensitive Buttons for the support.
                              and thank reWASDer you for the reply.
                              I hope you really consider implementing the Virtual DS3 in reWASD.
                              I've been doing what ArzePoetic was saying for years, I was make the touch pad to force the Square button sensitivity to like 0.177 in order to play MGS2/3, needless to say how horrible it would be if I want to play GTA:SA

                              the other thing that I want to mention, is the mode shifting.
                              for example if I want to mode shift one of the buttons pad like Square to turbo by holding L2, I would have to release the Square button then press the L2 so the shifting can be activated for the Square "turbo", this isn't ideal for intense gameplay.
                              at least there should be an option to make the mode shifting to be activated immediately LIKE " you have the Square Button held then hold L2 so the Square button become turbo as long as you're holding L2 and Square at the same time, and when releasing L2 the Square button become normal "non turbo" while it's being held.
                              IDK if you understand whatever I was talking about.

                              thank you.