Skip to content

Issues with DualShock 3 pressure sensitive buttons #12796

@Megamouse

Description

@Megamouse

Hi,

In RPCS3 I implemented SDL3 DualShock 3 pressure sensitive buttons: RPCS3/rpcs3#16848
based on this PR in pcsx2: PCSX2/pcsx2#12402

I have encountered several issues with the implementation.

  1. Why can't SDL simply return a float between 0 and 1 for SDL_GetGamepadButton and why do I have to query these extra axis?
  2. SDL_GamepadHasAxis returns false for the extra axis
  3. SDL_GetGamepadAxis returns 0 for the extra axis, so I have to use SDL_GetGamepadJoystick in these cases.

I get a value of 0 for the axis when I press the pressure sensitive buttons down past the initial resistance.I only get a value > 0 when I really continue pushing.I have to query the button value additionally if the axis is 0 and then apply the smallest possible value (1 for uint8_t), but that seems like a strange workaround and raises questions about the actual range of the axis...
The byte reported by our hidapi implementation already contains a tiny value even > 1 at that point.

-> Turns out I didn't look at negative values :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions