megamooseman / nintendon-t

Automatically exported from code.google.com/p/nintendon-t
0 stars 0 forks source link

Classic Controller (OG and Pro) stuck on input #147

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Start game with Classic Controller
2. Flick the control stick
3. Sometimes control stick input gets stuck in last direction flicked

What is the expected output? What do you see instead?
There should be no input when not pushing the control stick.

What revision of Nintendont are you using? On what system Wii/Wii U?
Dec 24, 2014 build (r265) on Wii U

Please provide any additional information below.
I couldn't replicate this bug on a Wii U Pro or Wiimote + Nunchuck in 
Nintendon't, but it might just be more rare on those. I also couldn't replicate 
this bug in anything other than Nintendon't. As far as I can tell, it only 
happens in Nintendon't with Classic Controllers. I did test it on multiple 
GameCube games.

The input gets stuck until another input is performed. I first noticed this bug 
in Wave Race. Sometimes after turning, the jetski continues to turn, even while 
holding A. Letting go of A or pushing another button clears the control stick 
input. From this I gathered that with the Classic Controller, input is only 
being read if a change in input is made, but the poll rate is a bit too slow, 
so sometimes Nintendon't knows no change is being made, but missed the last 
input (releasing the control stick), so it gets stuck. 

I poked through the source code, and in BT.c a few lines say
buf[1] = 0x00;  //report only when data changes
which seems to confirm that suspicion.

I'd guess that either constantly checking for changes, checking more often, or 
perhaps checking one more time even when you think there are no changes could 
fix the problem. I haven't been able to understand the code well enough to make 
any real suggestions there.

Original issue reported on code.google.com by derekdav...@gmail.com on 8 Jan 2015 at 4:54