Skip to content

Conversation

Megamouse
Copy link
Contributor

@Megamouse Megamouse commented Mar 11, 2025

  • Add DS3 button pressure to SDL pad handler

This seems very hacky, but it's supposedly the only way to make it work.
The code changes are inspired by non-existent documentation and some bold PRs in other projects.

NOTE: It won't work on windows, since our CI builds SDL without hidapi support.

Fixes #16824

@Megamouse Megamouse force-pushed the sdlstuffs2 branch 4 times, most recently from 3f6195f to dbd28d8 Compare March 14, 2025 18:28
@ItsLaguna
Copy link

I know it's still a draft but tried it and thought I'd mention the behavior so far:

  • The controller isn't picked (regardless of bluetooth/wired) unless it was turned on/plugged before booting the emulator or before pressing Pads (meaning that if you pressed pads and it wasn't turned on, even refreshing inside Pads won't make it appear)

  • None of the buttons that should have pressure sensitivity work (again regardless of bluetooth/wired), tried pressing harder too (😂) but there's no input registered.

That's all, really appreciate you working on this, Megamouse 🙂

@Megamouse Megamouse force-pushed the sdlstuffs2 branch 2 times, most recently from 1a079d9 to 475a99d Compare April 10, 2025 18:43
@Megamouse Megamouse marked this pull request as ready for review April 10, 2025 18:43
@Megamouse Megamouse marked this pull request as draft April 10, 2025 18:44
@Megamouse
Copy link
Contributor Author

This works now!
It needs to wait for the next SDL update, but at least it can be tested already.

The SDL implementation is a bit strange, but whatever...

@ItsLaguna
Copy link

ItsLaguna commented Apr 10, 2025

You work fast!

Was going to report earlier that simply pressing was giving no input (but hard pressing did) and in the middle of compressing the video I saw a new push and was glad to see that it works now. However there's still a minor hiccup that can occur while going from regular to full press, check the following vid (this is from the latest commit, starts at 0:04):

2025-04-10.21-02-56.trimmed.trimmed.mp4

I'm just pressing harder / loosening it but never letting go, again something minor but thought I'd report it.

Amazing work Megamouse, thanks again 🙏🏻

@Megamouse
Copy link
Contributor Author

@ItsLaguna can you try again ?

@ItsLaguna
Copy link

ItsLaguna commented Apr 10, 2025

@Megamouse working perfectly now, no more hiccups but comparing between DS3 handler and the current SDL I've noticed you gotta push a bit more than usual.

2025-04-10.22-15-52.trimmed.mp4

Here I'm switching between both and as you can see it goes back to the other regular press despite applying the same amount of force to the button.

@Megamouse
Copy link
Contributor Author

I know. but that's just how SDL reports the value...
Maybe there's some sort of hidden SDL deadzone applied... idk

@ItsLaguna
Copy link

Ah that's a shame, hopefully they can sort that out.
Leaving that aside, it works great and once again, thanks 🙏🏻

@Megamouse Megamouse force-pushed the sdlstuffs2 branch 3 times, most recently from e19f0a4 to f88ef45 Compare April 10, 2025 21:46
@Megamouse
Copy link
Contributor Author

Turns out I was dropping negative values, which means the whole weaker half of the button press.
Should be fine now

@ItsLaguna
Copy link

Yeah, now it matches 👍🏻

Noticed that upon changing handlers, there's a weird input (R1+Triangle?) but honestly no one is going to be doing that.
Just letting you know for the sake of it lmao.

2025-04-10.23-01-42.mp4

@Megamouse Megamouse force-pushed the sdlstuffs2 branch 2 times, most recently from 26f3fdb to 5f58c17 Compare April 10, 2025 23:02
@Megamouse
Copy link
Contributor Author

I couldn't reproduce this. Maybe it's specific to mgs.
But I can try to take a more thorough look when I have the time.

@Megamouse Megamouse marked this pull request as ready for review May 5, 2025 20:54
@Megamouse Megamouse merged commit 84a4cc0 into RPCS3:master May 5, 2025
5 of 8 checks passed
@Megamouse Megamouse deleted the sdlstuffs2 branch May 5, 2025 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature request] Pressure Sensitivity via SDL Handler
2 participants