Project

General

Profile

Actions

Emulator Issues #12711

closed

Wrong control stick recognition with few GamePads – potential bug source roughly found

Added by Barock over 2 years ago. Updated over 1 year ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
Android
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-18920

Description

Assumption

There seems to be a buffer overflow in the recognition of gamepads right control stick. >Up< and >right< is already set with "Axis 11+" and >down< and >left< is already set with "Axis 14+" on some gamepads. There are no negative axis found.

What steps will reproduce the problem?

Connect the 8Bitdo Gamepad SF30 Pro via Bluetooth to you android phone.
Configure the buttons of your GameCube Controller 1 and use the right control stick. The negative axis won't be recognized like described above.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes - Dolphin Emulator (Android) 5.0-15339

What are your PC specifications? (CPU, GPU, Operating System, more)

Smartphone: Poco F3 
OS: Android 11
GamePad that causes the bug: '8Bitdo Gamepad SF30 Pro'
GamePad that doesn't causes the bug: Ipega 9037
The difference between these two gamepads are analyzed below.

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

Only one of the two gamepads I use causes this bug. I try to find out the delta of the right control stick of those two gamepads by the android app "Gamepad tester" and found the following:

Right control stick of working Gamepad (Ipega 9037):

Vertical axis


axis 0x0e AXIS RZ default value (not moved): 0.003921628
up    maximum: -0.89 (already slight different but near -0.9)
down  maximum:  0.89 (already slight different but near +0.9)

Horizontal axis

axis 0x0b AXIS Z  default value (not moved): 0.003921628
left  maximum: -0.89 (already slight different but near -0.9)
right maximum:  0.89 (already slight different but near +0.9)

Right control stick of problematic Gamepad (8Bitdo Gamepad SF30 Pro)

Vertical axis

axis 0x0e AXIS RZ default value (not moved): 1.5258789E-5
up    maximum: -0.89 (already slight different but near -0.9)
down  maximum:  0.89 (already slight different but near +0.9)

Horizontal axis

axis 0x0b AXIS Z  default value (not moved): 1.5258789E-5
left  maximum: -0.89 (already slight different but near -0.9)
right maximum:  0.89 (already slight different but near +0.9)

Conclusion

Only the default value is different. The floating number 1.5258789E-5 draws attention and seems to be a source of a wrong calculation. ;)

Actions

Also available in: Atom PDF