• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Controllers v
« Previous 1 ... 259 260 261 262 263 ... 319 Next »

[Tutorial] Classic Controller as GameCube Controller [Linux/cwiid]
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
[Tutorial] Classic Controller as GameCube Controller [Linux/cwiid]
08-04-2011, 08:54 PM (This post was last modified: 08-04-2011, 09:44 PM by keller999.)
#1
keller999 Offline
Junior Member
**
Posts: 19
Threads: 5
Joined: Aug 2011
First, thanks for the awesomeness that is Dolphin -- I've had a lot of fun tinkering around with it!

I spent quite a bit of time trying to get my Wii Classic Controller to work as a gamepad for GameCube games. After a lot of tinkering, I think I have a pretty workable config. This includes all buttons, the D-Pad, both analog sticks, and the analog shoulder buttons.

First off, I'm running Ubuntu for this -- I'm sure something similar could be done using GlovePIE or whatnot, but I'm using cwiid. The trick is to get all your buttons, and especially axes, to have usable assignments with cwiid, then to get Dolphin to recognize everything you've setup.

Things you'll need:
- cwiid working (running 'wminput' should properly detect your WiiMote). There are lots of other guides on teh Interwebs that can help you with this.
- Dolphin otherwise configured. I've tested this with both 3.0 Release and latest SVN.

All of this is specific to Ubuntu, but will likely work for other distros too. Some of the commands MAY need to be run as sudo/root.

First, we need to create the proper mappings from the Classic Controller to system actions.

Code:
# nano /etc/cwiid/wminput/classic-controller

Paste in the following:

Code:
# Wii Classic Controller for Dolphin
Classic.Dpad.X = ABS_HAT0X
Classic.Dpad.Y = ABS_HAT0Y
Classic.LStick.X = ABS_X
Classic.LStick.Y = ABS_Y
Classic.RStick.X = ABS_RX
Classic.RStick.Y = ABS_RY
Classic.A = BTN_A
Classic.B = BTN_B
Classic.X = BTN_X
Classic.Y = BTN_Y
Classic.Minus = BTN_SELECT
Classic.Plus  = BTN_START
Classic.Home  = BTN_MODE
Classic.L  = BTN_TL
Classic.R  = BTN_TR
Classic.LAnalog = ABS_Z
Classic.RAnalog = ABS_RZ
Classic.ZL = BTN_TL2
Classic.ZR = BTN_TR2

Do Ctrl-O then Enter to save.

Now, we'll create a new GameCube controller profile that associates what SDL reads the above system actions as with GameCube controller buttons.

Code:
#nano ~/.dolphin-emu/Config/Profiles/GCPad/Classic\ Controller.ini

And paste this...

Code:
[Profile]
Device = SDL/0/Nintendo Wiimote
Buttons/A = Button 1
Buttons/B = Button 3
Buttons/X = Button 0
Buttons/Y = Button 2
Buttons/Z = Button 7
Buttons/Start = Button 9
Main Stick/Dead Zone = 10.000000
Main Stick/Up = Axis 1+
Main Stick/Down = Axis 1-
Main Stick/Left = Axis 0-
Main Stick/Right = Axis 0+
C-Stick/Dead Zone = 10.000000
C-Stick/Up = Axis 4+
C-Stick/Down = Axis 4-
C-Stick/Left = Axis 3-
C-Stick/Right = Axis 3+
Triggers/L = Button 4
Triggers/R = Button 5
Triggers/L-Analog = Axis 2+
Triggers/R-Analog = Axis 5+
D-Pad/Up = Hat 0 S
D-Pad/Down = Hat 0 N
D-Pad/Left = Hat 0 W
D-Pad/Right = Hat 0 E

Do Ctrl-O then Enter to save.

Now, we need to connect the WiiMote with the new profile we created.

Code:
#wminput -c classic-controller

Push 1+2, and wait until the program says 'Ready.'

Finally, let's import our new controller profile into Dolphin. Open Dolphin, click GCPad, select "Classic Controller" from the drop down on the right, and click Load. You should now be able to see that all your Classic Controller buttons work!

Caveats
- This is mapped how I like my buttons. It does NOT match the labels on the Classic Controller, but I think it feels more like the original GameCube controller. It is perfectly safe to remap the buttons using Dolphin. However, the axis detection is not terribly reliable, so you should probably leave those alone.
- The only 'bug' I know of is that the analog shoulder buttons have to be pressed down half way before they register at all. This is because their Axis registers from -32767 to +32,767 and the Analogs are only set to Axis +. If there is a way to set these to use the entire range with the fancy-dancy boolean editor, or by telling Dolphin to use the entire axis, I would love to learn about it.

If you have any questions, if I did something wrong, or if all of this is just blindingly obvious, feel free to comment below.

Thanks again for all the work on Dolphin -- hopefully this begins to "pay" for my enjoyment of it.
Find
Reply
09-17-2011, 07:35 AM
#2
sc5mu93
Unregistered
 
Major kudos keller999. This worked first shot out of the box. Been looking for something like this for a while.
Reply
07-12-2012, 12:23 AM (This post was last modified: 07-22-2012, 08:48 AM by AutoFire.)
#3
AutoFire Offline
Member
***
Posts: 83
Threads: 11
Joined: Nov 2011
My computer insists on pretending that the CC is a mouse, and I have no idea why. Help!
Computer specs in profile
Find
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode