The Wii U hardware supports many different and unique input devices. Below are short descriptions of the various APIs available for interacting with these input devices.
The Wii U GamePad is the signature controller of the Wii U system. The various SDK documentation refers to the GamePad as the DRC (Display Remote Controller) or the VPAD. The device consists of:
The DRC-DK-MP is a development hardware version of the Wii U GamePad. The DRC-DK-MP has a protrusion at the top. The front of the DRC-DK-MP is white and the rear is matcha green.
Both wired and wireless connections to CAT-DEV and CAT-R are supported. The DRC-DK-MP also has development software preinstalled, and can be changed to the region of your choice.
The following items are bundled with the DRC-DK MP.
The DRC-DK-TV is a development hardware version of the Wii U GamePad. The DRC-DK-TV has ports on the bottom for attaching items such a coaxial cable. The front of the DRC-DK-TV is white and the rear is matcha green.
The DRC-DK-TV can output to a TV or similar display through an HDMI connection. Only wired connections to CAT-DEV and CAT-R are supported. The DRC-DK-TV also has development software preinstalled, and can be changed to the region of your choice.
The following items are bundled with the DRC-DK-TV.
The VPAD library APIs provide applications with functionality to read the various button and touch panel inputs of the GamePad hardware. For more information, see the VPAD Library Overview.
The CAM library manages the GamePad camera hardware. Details about the operation of the camera and the various APIs can be found in the Camera Library Overview.
To read input from the GamePad microphone applications can use the MIC library APIs. For more information, see the Microphone Library Overview.
The Wii Remote is the motion controller that debuted with the Wii console. The Wii U hardware supports the original Wii Remote, the Wii MotionPlus accessory, and Wii Remote Plus units. Wii Remote features include:
The external extension connector allows various extensions to be added to the Wii Remote for extended functionality. Some devices include:
The Wii U Pro Controller is a wireless game controller intended for applications which lend themselves more to more traditional non-motion control schemes. The Wii U Pro Controller features include:
The Wii U hardware supports up to four (4) controllers to be connected simultaneously. This can be any mix of Wii Remote units and/or Wii U Pro Controllers.
WPAD is the low-level library which manages controller connections and data polling for both Wii Remotes and Wii U Pro Controllers. Applications can use WPAD directly to specify the number and types of controllers or external extension controllers which can be used during play. Included are APIs for controlling the sensitivity of the DPD sensor, analog stick clamping, etc.
For more information, see the WPAD Library Overview.
The KPAD library is a higher level controller library built on top of WPAD. KPAD provides extra features to help with manipulating the controller data retrieved by WPAD, as well as encapsulating the more complex WPAD mechanisms into a simpler API. KPAD also includes additional mechanisms for smoothing data and automatic calibration for the various motion sensors.
For more information, see the KPAD Library Overview.
The WENC library provides APIs for encoding PCM audio data into a format compatible with the Wii Remote speaker. The encoded data is sent to the Wii Remote via the WPAD library.
For more information about encoding audio for the Wii Remote speaker, see the Controller Speaker Encoding (WENC) Library Overview.
The Wii Balance Board is another input device unique to Nintendo. The device was first introduced on the Wii platform and consists of a large platform with 4 balance sensors on each corner. When a player stands or sits on the device each balance sensor detects the load applied to a particular corner. Applications can then interpret those values as input.
The WBC library provides APIs for calibrating and reading the Wii Balance Board data. For more information, see the WBC Library Overview.
The Wii U hardware includes 4 USB ports (2 front and 2 rear) which can support a wide variety of USB based devices. The Cafe SDK provides support for standard USB keyboards as well as a basic framework for supporting other USB HID devices.
The KBD library provides a low-level interface for standard USB keyboards connected via USB. The library can produce UTF-16 character codes based on simple keypress events. The library supports:
Further information can be found in the KBD Library Overview.
The KPR library extends the functionality of KBD by adding support for complex character entry and conversion. Keypress events are translated into appropriate UTF-16 character codes by the library based on the specified input local. KPR includes support for:
For more information, see the KPR Library Overview.
The HID library is intended for use in developing USB HID device drivers on Wii U. Prior to development ensure that you have the appropriate licensing permissions from Nintendo.
The library provides a basic framework for creating HID device drivers without requiring direct access or knowledge of the Wii U USB stack. The framework also provides basic process switching support so that devices are properly registered/unregistered if the application is task switched.
For more information, see the HID Library Overview.
CAT-DEV hardware includes a special controller connector which can be used for debugging purposes. The debug controller is modeled after the Wii Classic Controller Pro and includes:
The PAD library provides APIs for initializing and reading input from the debug controller. For more information, see the PAD MAN pages. Also note that the PAD library APIs are considered development-only APIs and must be removed prior to master submission.
2014/03/12 Updated images and placement.
2014/02/21 Fixed incorrect description.
2014/01/23 Added DRC picture.
2013/05/08 Automated cleanup pass.
2013/02/14 Initial version.