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

[Linux/MacOS] Further Wiimote changes for parity with Windows #945

Merged
merged 4 commits into from
Aug 31, 2023

Conversation

capitalistspz
Copy link
Contributor

@capitalistspz capitalistspz commented Aug 22, 2023

(Edit) Changes:

  • Change Wiimote comparison so that controllers cannot be mistaken as others, so that using multiple Wiimotes is actually possible
  • Use non-blocking reads to reduce input lag for extra Wiimotes
  • Enable nunchuk motion
  • Enable the Wiimote settings menu

Original Comment:

Now there should be no way that one controller is mistaken as being another connected controller

@capitalistspz capitalistspz changed the title Compare wiimote device paths as well Linux/MacOS Compare wiimote device paths as well Aug 22, 2023
@gamrXerus
Copy link

This pr fixes my second wii remote not being able to connect to Cemu using my standard Bluetooth dongle. The only remaining issue for me using Wiimote Api on Linux is that my Nintendo RVL-CNT-01-TR pointer lags. There is a noticeable delay when pointing and my remotes seem to disconnect randomly. My standard wii remote plus RVL-CNT-01, the pointer seems to work fine in Wii Party U when tested.

@capitalistspz capitalistspz marked this pull request as ready for review August 23, 2023 06:30
@gamrXerus
Copy link

gamrXerus commented Aug 23, 2023

I ran Cemu with Logging turned on for the input API and this is what I get:
wiimotelog
Not sure what is causing the input lag and disconnects. All I see is WPADProbe(0) KPADReadEx(0, 0x10) Blinking while I wait for reconnects. Hope this helps.

EDIT: It seems this input lag is a known issue. #636
#684
https://www.reddit.com/r/cemu/comments/syhvil/input_lag_on_second_wii_controller/
Windows is unaffected in my testing.

@capitalistspz capitalistspz changed the title Linux/MacOS Compare wiimote device paths as well [Linux/MacOS] Correctly detect extra wiimote(s), reduce input lag on extra wiimote(s) Aug 23, 2023
@capitalistspz
Copy link
Contributor Author

capitalistspz commented Aug 23, 2023

Because I originally had reads set as blocking, I'm pretty sure that the second controller would only be read from when the first controller completed an actual read, whoops

@gamrXerus
Copy link

gamrXerus commented Aug 23, 2023

I can confirm now that this pr fixes all my issues. Thank you! :)

@capitalistspz capitalistspz marked this pull request as draft August 29, 2023 12:38
@capitalistspz capitalistspz changed the title [Linux/MacOS] Correctly detect extra wiimote(s), reduce input lag on extra wiimote(s) [Linux/MacOS] Further Wiimote changes for parity with Windows Aug 29, 2023
@gamrXerus
Copy link

The settings menu works for me now. I sincerely apologize if this is the wrong place to post this, but I noticed in my testing that Wii Sports Club, motion and pointer controls do not work.
wiisportsclub
I also noticed that the value after the zero in vpad.VPADRead(0, is changing every half second. That does not happen in Wii Party U (a game where motion and pointer controls work). I dont know if that has anything to do with it.

@capitalistspz capitalistspz marked this pull request as ready for review August 29, 2023 16:11
@capitalistspz
Copy link
Contributor Author

capitalistspz commented Aug 29, 2023

The settings menu works for me now. I sincerely apologize if this is the wrong place to post this, but I noticed in my testing that Wii Sports Club, motion and pointer controls do not work.

No idea about the pointer, but motionplus (which is required by Wii Sports Club) doesn't work on Cemu right now

I also noticed that the value after the zero in vpad.VPADRead(0, is changing every half second. That does not happen in Wii Party U (a game where motion and pointer controls work). I dont know if that has anything to do with it.

Anything to do with VPAD is related to the Wii U Gamepad, so I don't think those reads are anything to do with the motion/pointer functionality of the Wiimote

@Exzap Exzap merged commit 5e84862 into cemu-project:main Aug 31, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants