I have created my own GameCube controller input plugin because I was sick of the default gcpad plugin having various bugs... triggers not working correctly, wrong controller vibrating, deadzone not working right, code being a complete mess...
THESE PATCHES ARE OLD
Download the latest revision of Dolphin to get the newest version of New GCPad.
Supported Sources:
- XInput (with rumble)
- SDL for other joysticks ( some rumble )
- DirectInput for keyboard/mouse
- Xlib for Linux keyboard ( untested )
- Extremely easy to add in additional sources
changes from binary release:
- Rumble should work now for both XInput and regular DirectInput (via SDL - Constant and Ramp forces )
- Added a Refresh devices button - don't have to restart Dolphin after attaching new controllers
- Game no longer hangs while setting controls in GUI
- Removed regex support - instead, using a simple "|button 1|button 2|" format
Patch 2 changes:
- Using Common::CriticalSection instead of wxMutex
- Profiles should now be properly deleted on Plugin destruction
- File::GetUserPath(D_CONFIG_IDX) is used
- Fixed up some comments, some are a bit better english now
Patch 3 changes:
- All dialogs are modal now ( just copied GCPad's code )
- Fixed the bug that GodRays mentioned ( SDL devices not showing up after using config without a game running )
- Maybe more minor stuff, can't remember
Patch 4 changes:
- Fixed up the GUI a bit (doesn't look as ugly now)
- Added diagonal adjustment option ( click detect button and move main stick in complete circles to automatically set the adjustment. far left is disabled )
- Added option to disable input when Dolphin is not focused.
- Other minor stuff
Patch 5 changes:
- Added DirectInput mouse support
- Added Windows keyboard LED output ( for emulating rumble by flashing {num,scroll,caps}lock )
- Removed a lot of inactive code ( SDL mouse/keyboard, OIS, DirectInput joystick )
- Attempted to add in Linux Xlib keyboard support ( not tested at all, but it's like 80% done )
- Code cleanup and other minor stuff
Patch 6 changes:
- Detect button works correctly for XInput devices again
- Setting mouse wheel to a control works better
- Stick modifiers work again
- Triggers have been renamed, you will have to remap them in this version
Patch 7 changes: ( I forgot missed the vcproj file in this patch, sorry )
- SDL eliminated on windows build ( using DirectInput for joysticks now )
- DirectInput devices will be numbered better ( range from 0-n for each set of devices with the same name )
- Force Feedback should work much better ( x86 / x64 ) now that SDL is gone ( only Constant force temporarily )
- Many GUI changes ( hopefully more user friendly, still want to make some more changes )
- Added live previews for the sticks, deadzones, buttons, and triggers
- Removed some features that I decided the average user won't need (hold down, double tap time, if there is something you wish I didn't remove, tell me )
- Pretty much redid the half of the plugin that I didn't like, preparing it to support emulated wiimotes more easily
- Profiles will save to their own ini file now, also saving a profile won't be necessary for saving your config ( currently saved in "User/Config/Profiles/GCPad", might change )
- Name of the main config file has changed to GCPadNew.ini ( this will probably change again eventually )
- IniFile format has changed a bit so you will need to modify your old file's section names in a text editor, or just reconfig all your controls again
- Many other code changes/cleanup
Patch 8 changes:
- Fixed bugs of patch 7. ( motor strength, stick modifier button )
- Improved the detect input function. It allows detection of multiple inputs now. ( don't have to manually select them in the list )
- When physically removing a gamepad while playing, all the buttons/axes/hats should go to an unpressed state rather than being stuck.
- included vcproj file in the patch, hopefully it's all good now.
Now that I have svn access I will probably not update this thread anymore, you can just grab the latest dolphin source to get this plugin.
Here's a screenshot from patch 8:
New Patch (8):
Source:
GCPadNew8.zip (Size: 32.1 KB / Downloads: 4,685)
x64 Binary:
Plugin_GCPadNew.7z (Size: 507.53 KB / Downloads: 3,339)
Old Patches:
GCPadNew6.7z (Size: 369.79 KB / Downloads: 1,387)
GCPadNew5.7z (Size: 369.68 KB / Downloads: 734)
GCPadNew4.7z (Size: 371.52 KB / Downloads: 772)
I have included updated SDL 1.3 libraries. They may or may not be needed.
THESE PATCHES ARE OLD
Download the latest revision of Dolphin to get the newest version of New GCPad.
Supported Sources:
- XInput (with rumble)
- SDL for other joysticks ( some rumble )
- DirectInput for keyboard/mouse
- Xlib for Linux keyboard ( untested )
- Extremely easy to add in additional sources
changes from binary release:
- Rumble should work now for both XInput and regular DirectInput (via SDL - Constant and Ramp forces )
- Added a Refresh devices button - don't have to restart Dolphin after attaching new controllers
- Game no longer hangs while setting controls in GUI
- Removed regex support - instead, using a simple "|button 1|button 2|" format
Patch 2 changes:
- Using Common::CriticalSection instead of wxMutex
- Profiles should now be properly deleted on Plugin destruction
- File::GetUserPath(D_CONFIG_IDX) is used
- Fixed up some comments, some are a bit better english now
Patch 3 changes:
- All dialogs are modal now ( just copied GCPad's code )
- Fixed the bug that GodRays mentioned ( SDL devices not showing up after using config without a game running )
- Maybe more minor stuff, can't remember
Patch 4 changes:
- Fixed up the GUI a bit (doesn't look as ugly now)
- Added diagonal adjustment option ( click detect button and move main stick in complete circles to automatically set the adjustment. far left is disabled )
- Added option to disable input when Dolphin is not focused.
- Other minor stuff
Patch 5 changes:
- Added DirectInput mouse support
- Added Windows keyboard LED output ( for emulating rumble by flashing {num,scroll,caps}lock )
- Removed a lot of inactive code ( SDL mouse/keyboard, OIS, DirectInput joystick )
- Attempted to add in Linux Xlib keyboard support ( not tested at all, but it's like 80% done )
- Code cleanup and other minor stuff
Patch 6 changes:
- Detect button works correctly for XInput devices again
- Setting mouse wheel to a control works better
- Stick modifiers work again
- Triggers have been renamed, you will have to remap them in this version
Patch 7 changes: ( I forgot missed the vcproj file in this patch, sorry )
- SDL eliminated on windows build ( using DirectInput for joysticks now )
- DirectInput devices will be numbered better ( range from 0-n for each set of devices with the same name )
- Force Feedback should work much better ( x86 / x64 ) now that SDL is gone ( only Constant force temporarily )
- Many GUI changes ( hopefully more user friendly, still want to make some more changes )
- Added live previews for the sticks, deadzones, buttons, and triggers
- Removed some features that I decided the average user won't need (hold down, double tap time, if there is something you wish I didn't remove, tell me )
- Pretty much redid the half of the plugin that I didn't like, preparing it to support emulated wiimotes more easily
- Profiles will save to their own ini file now, also saving a profile won't be necessary for saving your config ( currently saved in "User/Config/Profiles/GCPad", might change )
- Name of the main config file has changed to GCPadNew.ini ( this will probably change again eventually )
- IniFile format has changed a bit so you will need to modify your old file's section names in a text editor, or just reconfig all your controls again
- Many other code changes/cleanup
Patch 8 changes:
- Fixed bugs of patch 7. ( motor strength, stick modifier button )
- Improved the detect input function. It allows detection of multiple inputs now. ( don't have to manually select them in the list )
- When physically removing a gamepad while playing, all the buttons/axes/hats should go to an unpressed state rather than being stuck.
- included vcproj file in the patch, hopefully it's all good now.
Now that I have svn access I will probably not update this thread anymore, you can just grab the latest dolphin source to get this plugin.
Here's a screenshot from patch 8:
New Patch (8):
Source:
GCPadNew8.zip (Size: 32.1 KB / Downloads: 4,685)
x64 Binary:
Plugin_GCPadNew.7z (Size: 507.53 KB / Downloads: 3,339)
Old Patches:
GCPadNew6.7z (Size: 369.79 KB / Downloads: 1,387)
GCPadNew5.7z (Size: 369.68 KB / Downloads: 734)
GCPadNew4.7z (Size: 371.52 KB / Downloads: 772)
I have included updated SDL 1.3 libraries. They may or may not be needed.