Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DSU improvements #9771

Merged
merged 3 commits into from Jun 7, 2021
Merged

DSU improvements #9771

merged 3 commits into from Jun 7, 2021

Conversation

Filoppi
Copy link
Contributor

@Filoppi Filoppi commented May 30, 2021

  • Reworked the DSU to never hang the Host thread for more than a really small time (e.g. when disabling DSU its thread now closes almost immediately)
  • Fix DSU using a different UID for every controller of the same server (that's not how its supposed to work)
  • Add battery level input
  • Improve robustness when a large amount of devices are connected
  • Make sure inputs start from their resting pose instead of 0
  • Add devices disconnection detection, previously they'd stay there forever until manually refreshed

Deeply tested with one and multiple controllers.

More improvements will be coming after this, including touch pad calibration and touch pad relative input (mapped 1:1 to the window screen, for the wii mote cursor).

… and controllers queries

that's not the way it's supposed to work
…nnection detection, ...

-Reworked thread waits to never hang the Host thread for more than a really small time
(e.g. when disabling DSU its thread now closes almost immediately)
-Improve robustness when a large amount of devices are connected
-Add devices disconnection detection (they'd stay there forever until manually refreshed)
@JMC47
Copy link
Contributor

JMC47 commented May 31, 2021

Tested and confirmed to work well.

@JMC47
Copy link
Contributor

JMC47 commented Jun 6, 2021

I've been using this in my local builds for a couple of days. It's kind of hard to use DSU without it now that I'm used to it.

@JMC47
Copy link
Contributor

JMC47 commented Jun 7, 2021

I looked through the code to the best of my ability. It seems relatively simple and, as I've said, I've been using it for a while. It's after the beta now so if a few regressions pop up, so be it. There's only so many things I can test on it.

Copy link
Contributor

@Techjar Techjar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing immediately stands out to me as wrong in the code, and JMC has been using it without issues (improvements in fact), so LGTM.

@JMC47 JMC47 merged commit ebe3fbe into dolphin-emu:master Jun 7, 2021
11 checks passed
@midget35
Copy link

Thanks for your work on all this @Filoppi . I have been doing a lot of testing with multiplayer emulated wiimote input including DSU. This seems very promising.

A question regarding your plans to do 'touch pad calibration'... what exactly is this item? Don't know if related, but it would be terrific to be able to simulate wiimote forwards and backwards motion using the touchpad y axis.

Thanks again :)

@Filoppi
Copy link
Contributor Author

Filoppi commented Jun 23, 2021

@midget35 thanks.
Touch pad calibration is for non DS4 devices using a touch screen/pad over DSU. There is no official rule for the min and max values for the touch pad, which on the DS4 is like 1920x1040, but if you use a Switch touchscreen over DSU, the max is different, so to map a wiimote cursor to the DSU device touchscreen, you need calibration. Yuzu has it.

Pretty sure you can already map a wiimote motion forward/backward axis to the touchpad now, it just won't be very accurate.
Also you can test all of what I'm talking about here:
#9489

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants