javilechero / android-bluez-ime

Automatically exported from code.google.com/p/android-bluez-ime
0 stars 0 forks source link

Wiimote classic controller analog no full motion #127

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
If you want to report Wiimote not working on Samsung Galaxy, HTC Sense or
LG, please click "Issues" above and the click on issue #7.

If you want to report LG not working, please click "issues" above and click
on issue #84.

If you want to request PS3 Sixaxis support, please click "issues" above and
click on issue #9.

For any other issue, please delete the lines above.

What version of BluezIME are you using?

1.1.2

What Android device do you have? What Android version?
Samsung Galaxy Sii AT&T
What gamepad are you using?
Wiimote classic controller
What steps will reproduce the problem?
1.play Yoshi Story on n64oid
2.map buttons
3.watch Yoshi walk and no ground pound

What is the expected output? What do you see instead?
He is supposed to run and duo the ground pound (a down). He just walks and 
doesn't do the ground pound.

Please provide any additional information below.
The analog stick does not see full motion.

Original issue reported on code.google.com by myrameni...@gmail.com on 12 Dec 2011 at 9:48

GoogleCodeExporter commented 8 years ago
Further testing with the test app completely confirms my issue. I connected the 
wiimote classic controller and see the bars not go all the way up or down, 
while the nunchuk has zero issues.

Original comment by myrameni...@gmail.com on 12 Dec 2011 at 10:22

GoogleCodeExporter commented 8 years ago
Ok, I will try with my classic controller to see if I can reproduce.

Original comment by kenneth@hexad.dk on 15 Dec 2011 at 2:41

GoogleCodeExporter commented 8 years ago
I just tried this with my Wiimote class controller, and all four bars in the 
test app goes fully left and right.

Do you have a special version of the Classic controller?
Mine is a cheap knock off version, but others have tested this for me with 
official controllers.
Do you know what model number your classic controller has?

Original comment by kenneth@hexad.dk on 16 Dec 2011 at 8:12

GoogleCodeExporter commented 8 years ago
I have the first generation official.... I guess I should splurge on the pro 
version?

Original comment by myrameni...@gmail.com on 16 Dec 2011 at 6:21

GoogleCodeExporter commented 8 years ago
I also find this weird since it worked before and wiicontrollerime works fine...

Original comment by myrameni...@gmail.com on 16 Dec 2011 at 6:27

GoogleCodeExporter commented 8 years ago
What do you mean "worked before" ?
I am not sure buying a new controller will fix it, but it is likely.

Original comment by kenneth@hexad.dk on 17 Dec 2011 at 8:26

GoogleCodeExporter commented 8 years ago
Worked before as in it worked fine. But then again, I used WiicontrollerIME 
back in the day. Also, WiiControllerIME's analog works fine on FPSE no problem.

I used a Classic Controller Pro this time on the test app and Yoshi's Story. 
Same exact problem on the test app. Same problem with Yoshi's Story, but the 
running right is fine.

So, now I must ask, is it a difference in bluetooth? I used this on the Intl 
SGS2 and and the ASUS Transformer, and same problem.

Original comment by myrameni...@gmail.com on 18 Dec 2011 at 1:40

GoogleCodeExporter commented 8 years ago
Perhaps have a calibration setup for the analog on a future release?

Original comment by myrameni...@gmail.com on 18 Dec 2011 at 1:41

GoogleCodeExporter commented 8 years ago
I cannot seem to find the actual specification for the value range, but I am 
using this page:
http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Classic_Controller

It only specifies how large a value can be sent, but not the actual value range.
It could be that this differs for each unit, in which case a calibration is 
required.

Does this controller work for you:
https://market.android.com/details?id=com.ccpcreations.android.WiiUseAndroid

If that works, it is likely that I have messed something up that can be fixed 
without a calibration UI.
I can check the source code for the app to see if there is some difference.

The app called WiicontrollerIME does not have the source code, so I cannot 
compare it to BluezIME.

Original comment by kenneth@hexad.dk on 27 Dec 2011 at 9:00

GoogleCodeExporter commented 8 years ago
the wiicontrollerime thing I'm talking about is the same as the market link 
lol. Thanks!

Original comment by myrameni...@gmail.com on 27 Dec 2011 at 9:11

GoogleCodeExporter commented 8 years ago
Cool, there is one called WiiControllerIME too, but I will look at the source 
to see if he auto-calibrates the sticks or use another trick.

Original comment by kenneth@hexad.dk on 30 Dec 2011 at 5:59

GoogleCodeExporter commented 8 years ago
Hmm, I thought there was source code for that app, but I was wrong.
I would really like to not have a calibration UI, because that will be 
annoying, but I guess there is no way round it.

Original comment by kenneth@hexad.dk on 30 Dec 2011 at 6:53

GoogleCodeExporter commented 8 years ago
I accidentally stumbled on some code that shows how the calibration is supposed 
to work:
http://code.google.com/p/imame4all/source/browse/trunk/src/android/wiimote.c#543

I will try to incorporate this into Bluez IME so your controller works 
correctly.

Original comment by kenneth@hexad.dk on 3 Jan 2012 at 10:14

GoogleCodeExporter commented 8 years ago
WOWWWWWWWWWWWWWW THANK YOUUUUUUUUU

Original comment by myrameni...@gmail.com on 3 Jan 2012 at 6:42

GoogleCodeExporter commented 8 years ago
Attached is a test version that *should* handle Calibration data from the 
Classic Controller.
My own knock-off controller does not report that data, so I have a hard time 
testing.
Let me know how it works for you.

Original comment by kenneth@hexad.dk on 6 Jan 2012 at 11:31

Attachments:

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
I have been having the same issues on my classic controller pro. 
Unforrtunately, the version you just posted on this forum does not help. I 
think the issue is that when the left analog stick is pressed down, it picks up 
readings that it is being pressed up. This is because in n64oid zelda oot, when 
I attempt to back flip while z-targeting, I can only roll forward. If you are 
not familiar with that game, that means the action is something from moving 
forward only, when I am actually moving backwards. Also in all games I've 
tested, the character moves backwards at half speed. Please fix this one bug 
because the classic controller is awesome, and the ONLY problem with it is 
moving backwards. Thanks.

Original comment by SOMFSOMF...@gmail.com on 10 Jan 2012 at 8:29

GoogleCodeExporter commented 8 years ago
I have the same issue as the two others.  I've installed the Test App, and 
moving the stick to the far right(x=100% or -100%, y=0) and the x or y sensor 
registers the value to about 90%.  On the diagonals, the sensor is about 75% 
for x and y.  This shows up in games like Zelda OOT where Link can run 
full-speed directly ahead, but walks on the diagonals.  Still seems like the 
calibration is off.  

As far as I can tell, the test version had no noticeable difference on the 
analog performance or the x- and y-values on the test app.

Original comment by EFLa...@gmail.com on 12 Jan 2012 at 2:27

GoogleCodeExporter commented 8 years ago
Ok, I need some more help as I do not have a device that has the problem myself.
Attached is a new build that will dump data to logcat (use aLogcat from Market 
to see it).
It should output various data relating to calibration to logcat. If one of you 
that have the problem could try it and send me the log data (or attach it 
here), I will try to fix it.

Original comment by kenneth@hexad.dk on 12 Jan 2012 at 8:16

Attachments:

GoogleCodeExporter commented 8 years ago
Sorry forgot to add that, you must also install the new HIDEnabler package 
attached.
I will use this in the future to enable HID drivers on devices, so the 
BluezIME.apk here is the same as the one on Market.

Original comment by kenneth@hexad.dk on 12 Jan 2012 at 8:32

Attachments:

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Ok. So I have the log here from moving the joystick all the way in the four 
main directions. From looking at it, I believe I see that when it is pressed 
down, it does not recognize the full value, and picks up that it is also being 
pressed up. But I am no expert in the subject, so I'll leave that to you. I 
also have the diagonal press logs if you need them. Thanks for responding on 
your forum!

Original comment by SOMFSOMF...@gmail.com on 13 Jan 2012 at 5:34

Attachments:

GoogleCodeExporter commented 8 years ago
Forgot to mention that for the log above, i did three movements of the analog 
stick for each direction if that matters

Original comment by SOMFSOMF...@gmail.com on 13 Jan 2012 at 10:51

GoogleCodeExporter commented 8 years ago
Thanks for the log. The analog values should be int the rage-127, 0, +127 with 
0 being center.
Up/Left are -127, and Down/Right are +127. The log message clearly shows that 
your device does not get near the actual max values, which explains the 
problems, but I need the calibration messages to fix it.

There should be log messages with:
"Wii Classic Controller Extension connected"
"Sending Classic Controller Calibration data request"
"Got classic controller calibration report: xxxxxxxxxx"

Do you have those messages (especially the last one)?

Original comment by kenneth@hexad.dk on 14 Jan 2012 at 9:36

GoogleCodeExporter commented 8 years ago
Here are the logs I got when I plugged in the controller 3 times in a row. I 
get the first one, but no where do I see the sending calibration request. Let 
me know if I need to do something more to get those messages.

Original comment by SOMFSOMF...@gmail.com on 14 Jan 2012 at 4:05

Attachments:

GoogleCodeExporter commented 8 years ago
Strange. I will investigate.

Original comment by kenneth@hexad.dk on 14 Jan 2012 at 4:10

GoogleCodeExporter commented 8 years ago
I think this is something to do with "log level".
The messages you posted are set with "Debug" and the messages that are missing 
are set with "Information".
Could you try again with log level set to "Info" ?

Original comment by kenneth@hexad.dk on 15 Jan 2012 at 4:54

GoogleCodeExporter commented 8 years ago
It turns out I actually had log level on verbose, but I also got the same logs 
using debug. However, with information as the log level, nothing shows up in 
the log, whether I press buttons or connect the extension. I tried all the log 
formats too, but still nothing with log level information. Let me know if 
theres anything else I need to try.

Original comment by SOMFSOMF...@gmail.com on 15 Jan 2012 at 7:28

GoogleCodeExporter commented 8 years ago
Hmm, I have no explanation for why that happens then, but since "Debug" logging 
seems to work, I have changed all the reports to use that instead of the 
"Information". Attached is an updated version with this change.

Original comment by kenneth@hexad.dk on 15 Jan 2012 at 7:51

Attachments:

GoogleCodeExporter commented 8 years ago
There we go, the calibration request showed up. Here is a log from me plugging 
in the controller, then disconnecting it.

Original comment by SOMFSOMF...@gmail.com on 15 Jan 2012 at 7:55

Attachments:

GoogleCodeExporter commented 8 years ago
Tough, your controller also sends bogus calibration data.
I will have to read up on this and see if I can guess what I need to change :/

Thanks for the fast response.

Original comment by kenneth@hexad.dk on 15 Jan 2012 at 8:00

GoogleCodeExporter commented 8 years ago
A little late to the party, but I wanted to confirm that I'm having the same 
calibration issue with the classic controller.   The attached log from my 
system gives the same bad calibration report.

Original comment by EFLa...@gmail.com on 17 Jan 2012 at 8:39

Attachments:

GoogleCodeExporter commented 8 years ago
Forgot to add that i'm also on a classic controller pro.  Not sure what that 
affects...

Original comment by EFLa...@gmail.com on 19 Jan 2012 at 5:22

GoogleCodeExporter commented 8 years ago
So im at it again, this time with a nintendo brand classic controller (not 
pro). This one sends valid calibration data, but I think bluez misinterprets 
it. Attached is a log with me plugging the extension in, as well as moving the 
analog stick in the four cardinal directions. Please note that I only move the 
stick all the way in that direction, and do NOT allow it to return to the 
center. When I play n64oid, the controller is very sensitive at first, then 
sends bogus data, such as running the complete opposite direction (this is with 
the calibration fix version on this thread). With the original bluez ime 1.14 
the character only walks right and up, but runs perfectly fine down and left. 
Hopefully this can shine some light on this issue. Thanks for your hard work on 
this app as always!

Original comment by SOMFSOMF...@gmail.com on 7 Mar 2012 at 2:13

Attachments:

GoogleCodeExporter commented 8 years ago
Hi, I am a little pressed for time (as always).

I have found another Wiimote library (not for Android) which seems to be able 
to extract another kind of calibration data. I am still hoping that I will find 
some time to look at that, to support those with controllers that do not send 
normal calibration data.

For the one that does send calibration data, there is something really weird 
going on there. Either the calibration data is just random noise, or my use of 
the calibration data is wrong. I will look at it, but it will be a little while.

Original comment by kenneth@hexad.dk on 8 Mar 2012 at 7:44

GoogleCodeExporter commented 8 years ago
I'm sorry, was this issue ever resolved?  I see that it has been a few months 
since it was last addressed.  I'm having issues with my Galaxy S Mesmerize.  
When I use the Nunchuck, the analogue pulls lazily to the right in all games 
(Zelda OOT, Banjo, Goldeneye).  With the Classic Controller, the analogue pulls 
strongly down and left.  I've had this problem with both Gingerbread and ICS 
roms.  These controllers are the only reason I got into messing with my roms in 
the first place.  It would be greatly appreciated to know if there has been any 
development on the topic.  Thanks!
-Flyboy19838@gmail.com

Original comment by FlyBoy19...@gmail.com on 7 Aug 2012 at 6:59

GoogleCodeExporter commented 8 years ago
I have not managed to work on this.
I did have a brief look at it, but my controller does not give me the 
calibration data, so I don't know how to implement the calibration stuff.

Original comment by kenneth@hexad.dk on 9 Aug 2012 at 9:09

GoogleCodeExporter commented 8 years ago
Issue 178 has been merged into this issue.

Original comment by kenneth@hexad.dk on 20 Aug 2012 at 7:18

GoogleCodeExporter commented 8 years ago
Kenneth,

You said you use a 3rd party controller that doesn't show problems. If I may 
ask, which controller knock-off are you using that allows correct 
functionality? 

Original comment by loneinsu...@gmail.com on 29 Aug 2012 at 12:07

GoogleCodeExporter commented 8 years ago
I bought it on DealExtreme, but it is no longer there.
The SKU was: 53758
And the title was "Designer's Classic Controller for Wii - White (98CM-Cable)"

Original comment by kenneth@hexad.dk on 29 Aug 2012 at 7:54

GoogleCodeExporter commented 8 years ago
My issue is that the analog stick will not reset to "zero" after movement. At 
the start of play, everything is fine until I move the analog stick, then it 
sticks at 100% of the opposite direction. I can try to maneuver the stick to 
get it to stop (and occasionally it does) but the moment I move the stick 
again, it does the same thing.

I have used the test app, and it shows everything at center until I move the 
stick. Upon moving it, each axis stays about 5%. I have tried different 
nunchuks, all with slightly different values, but consistent with each nunchuk, 
never reaching zero again. This tells me that there is a margin of error for 
each device. That being said, your app perfectly displays that. 

Perhaps you can add a way to recalibrate these devices since it appears your 
app reads where zero /should/ be, and not where it actually is.

Original comment by batk...@gmail.com on 2 Sep 2013 at 5:18