We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 4676

Summary: [Patch] Fix GameCube controller power level and disable rumble in some cases
Product: SDL Reporter: Zack Middleton (zturtleman) <zack>
Component: joystickAssignee: Sam Lantinga <slouken>
Status: RESOLVED FIXED QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2    
Version: HG 2.0   
Hardware: All   
OS: All   
Attachments: patch 1: Fix power level
patch 2: Require both USB cables for rumble
patch 3: WaveBird differences

Description Zack Middleton (zturtleman) 2019-06-19 07:59:28 UTC
Created attachment 3833 [details]
patch 1: Fix power level

Patch 1
-------

Fix GameCube controller power level being reset to unknown

HIDAPI_DriverGameCube_OpenJoystick() set power level to wired and then
it was set to unknown in SDL_JoystickOpen().

Patch 2
-------

Make GameCube controllers only rumble if both USB cables are connected

The Nintendo USB GameCube Adapter has two USB connectors. Black for data
and grey for additional power for rumble. The Wii U and other software
require both cables to use rumble. The rumble is weaker without the
second USB cable. Other than that I don't know if there is any negative
side affects from using rumble with only one cable.

Patch 3
-------

Handle GameCube WaveBird controller differences

Make wireless GameCube controllers use unknown power level instead of
wired and don't allow rumble (it doesn't have hardware for it).
Comment 1 Zack Middleton (zturtleman) 2019-06-19 08:00:08 UTC
Created attachment 3834 [details]
patch 2: Require both USB cables for rumble
Comment 2 Zack Middleton (zturtleman) 2019-06-19 08:00:39 UTC
Created attachment 3835 [details]
patch 3: WaveBird differences