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

Nunchuk stick unresponsive (Win10 64bit) #95

Open
megajimx opened this issue Feb 4, 2019 · 20 comments
Open

Nunchuk stick unresponsive (Win10 64bit) #95

megajimx opened this issue Feb 4, 2019 · 20 comments

Comments

@megajimx
Copy link

megajimx commented Feb 4, 2019

I am using a Mayflash Dolphin Bar and Nunchuk attached to a Wii Motion Plus controller. No matter what I map to the Nunchuk analog stick, no events are triggered by using it.

I can confirm that the Nunchuk stick works in mode 3 on the Dolphin Bar as a controller left analog stick.

All Analog is working fine on my Classic Controller through Touchmote though.

I am using Touchmote v1.0b15

@PipeRojas
Copy link

I'm having the same issue, i´ve tried everything but nothing works, i´m using original WiiRemote/Nunchuk sets with laptop built-in bluetooth adapter and Mayflash Dolphin Bar and everything works except the Nunchuk Stick in Windows 10 x64 Ver. 1909. Please fix this!!!

@hammk
Copy link

hammk commented Jul 22, 2022

Same issue here. Literally only the stick is nonfunctional, even the accelerometer works too.
Doom 2 just doesn't work with the accelerometer mapped to move/strafing.

On Windows 10 x64 21H2, not using Dolphinbar.

@tommylihk
Copy link

tommylihk commented Feb 24, 2023

I figured out it seems like a bug of WiimoteLib not populating correct values to nunchuk.Joystick.X and Y but the correct values can be calculated from nunchuk.RawJoystick.X and Y. I am testing the fix and will raise a PR to the author.

nunchuk.Joystick.X and Y are always 0,
but RawJoystick.X and Y are come with correct values (0-255 according to hardware input)

Screenshot 2023-02-24 at 6 36 57 PM

tommylihk added a commit to tommylihk/Touchmote that referenced this issue Feb 25, 2023
replace by dsign timestamp with timestamp.sectigo.com
@tommylihk
Copy link

Download the fix here:
https://github.com/tommylihk/Touchmote/releases/tag/v1.0b15-nunchukfix

@Trihy
Copy link

Trihy commented Apr 15, 2023

There are some builds here #65 with many improvements if you want to take a look.

@dante3732
Copy link

Download the fix here:
https://github.com/tommylihk/Touchmote/releases/tag/v1.0b15-nunchukfix

Can you please add mouse 4 and 5 buttons in touchmote?

@Ryochan7
Copy link

Ryochan7 commented Jun 7, 2023

Interesting that the library does not populate those values for certain Wiimotes. Luckily those backup raw values are available as a workaround.

@Ryochan7
Copy link

Ryochan7 commented Jun 7, 2023

Looks like that can only happen when reading the Nunchuk calibration data fails.

https://github.com/simphax/WiimoteLib/blob/da0c7c2a508f61d4362d28999a7329ff561d3db1/WiimoteCS/WiimoteLib/Wiimote.cs#L693

if(mWiimoteState.NunchukState.CalibrationInfo.MaxX != 0x00)
  mWiimoteState.NunchukState.Joystick.X = (float)((float)mWiimoteState.NunchukState.RawJoystick.X - mWiimoteState.NunchukState.CalibrationInfo.MidX) / 
    ((float)mWiimoteState.NunchukState.CalibrationInfo.MaxX - mWiimoteState.NunchukState.CalibrationInfo.MinX);

if(mWiimoteState.NunchukState.CalibrationInfo.MaxY != 0x00)
  mWiimoteState.NunchukState.Joystick.Y = (float)((float)mWiimoteState.NunchukState.RawJoystick.Y - mWiimoteState.NunchukState.CalibrationInfo.MidY) / 
    ((float)mWiimoteState.NunchukState.CalibrationInfo.MaxY - mWiimoteState.NunchukState.CalibrationInfo.MinY);

@Trihy
Copy link

Trihy commented Jun 7, 2023

The workaround is in your builds? Didn't experience this problem using your builds.

I tried mostly with TR ones. But have some non TR lying around.

@Ryochan7
Copy link

Ryochan7 commented Jun 7, 2023

No. I have two Wiimotes (one TR and one non-TR) and the Nunchuk has always worked as intended in Touchmote.

@Trihy
Copy link

Trihy commented Jun 7, 2023

Cool. Not a big fan of the nunchuk. But been using lately for games like time crisis 5, where you switch from side to side (nunchuk analog stick). Also for reload on some games where "shoot outside the screen" to reload doesnt work. Gets the job done.

@Ryochan7
Copy link

I am now experiencing this as well when using the Dolphinbar; even IR does not work in Touchmote anymore. Something must have changed with some recent Windows updates. Played around with the WiimoteLib code and its test utility. Got it somewhat working after some debugging. The library does not wait for an ACK report from the Wiimote when trying to initialize a connected extension so the expected read buffer will just be empty unless some artificial delays (sleep, breakpoints) are utilized. The proper extension mode will not be set in code either.

The library's Wiimote enumeration routine is not good. Too easy to error out with no graceful way to handle it. An ERROR_GEN_FAILURE error will be received when trying to write to controller slots with no Wiimote connected and WiimoteLib cannot really handle it properly.

This goes to show more how these old Wiimote utilities are getting crusty.

@Trihy
Copy link

Trihy commented Jun 12, 2023

Hi Ryo. Used touchmote yesterday. IR works fine. On Windows 11 with latest updates. I use a normal IR bar, not dolphin bar. Sometimes dolphin bar turn off the IR leds if no controller is connected. There is a special firmware to avoid that.

I did notice nunchuk doesnt work fine (or some buttons on wiimote stop responding) If you plug it in after turn wiimote on. If I plug the nunchuk before turning wiimote on, dont experience any problem so far.

If I plug nunchuk while wiimote is connected, results seem umpredictable.

@dante3732
Copy link

In the config file, it not possible to reduce the sensitivity so that the mouse cursor does not twitch left and right? As if your hands are shaking after drinking.

@Trihy
Copy link

Trihy commented Jun 12, 2023

Still there is no way to avoid that.

If it´s just for Desktop clicking, en easy fix will be to have a on/off mouse cursor button. Like some Giro mouse have, with a button you can stop or disable the cursor so you can double click on icons (which the shaking prevents)

You can try Mouse Camera View instead of Mouse Cursor to see if you like, it doesnt shake, but you have to play with values on settings.json to get a mouse feeling.

@dante3732
Copy link

dante3732 commented Jun 12, 2023

You can try Mouse Camera View instead of Mouse Cursor to see if you like, it doesnt shake, but you have to play with values on settings.json to get a mouse feeling.

I play mostly in lightgun games.

By the way, there is no shake function in touchmote, which allows you to shake and launch any action, as in games with a gyroscope.
Of course there is a tilt function, but that's different.

@Trihy
Copy link

Trihy commented Jun 12, 2023

I was referring to cursor shake.

But as a lightgun you need to use mouse cursor or analog stick mapped to IR, both will suffer from cursor shake.

@Trihy
Copy link

Trihy commented Jun 13, 2023

I can confirm everything works fine with normal IR bar and touchmote on latest Windows 11 with all the monthly updates.

Tried a TR one and a Nunchuk. All working including Nunchuk stick and IR pointer.

Using ryo's dec22 build.

@Ryochan7
Copy link

I did not change anything but now Nunchuk and IR work in Touchmote again. My computer wants to act weird to irritate me

@Trihy
Copy link

Trihy commented Jun 13, 2023

Lol. Wiimotelib from touchmote seems solid enough. Not sure why dolphin team didn't use it. The one they use seems to be missing some goodies.

I will try to setup compiling tools to see if I can try some changes.

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

No branches or pull requests

7 participants