GameCube Controller
The GameCube Controller is a device that plugs into the controller ports (the SI bus), and speaks a custom protocol down the SI protocol's serial link. They can be used for controlling almost all software on the GameCube, as well as most games on the Wii.
Variations
[edit]There are multiple variations on the traditional GameCube controller, such as the Wavebird (wireless version of the standard controller), and the GameCube ASCII Keyboard (for Phantasy Star Online). Notably, you can also connect a Game Boy Advance's link port to the GameCube/Wii controller ports.
Compatibility
[edit]The standard GameCube Controller, and all derivatives, are compatible with Wii-Linux. It has a driver that wires it up into the standard input subsystems, and can be read by any program that supports the Linux joystick interface. Note that Game Boy Advance connectivity is not supported under Linux. NetBSD does not appear to have support for any version of this accessory.