/gcfeeder

A ViGEm feeder for GameCube controllers using the GameCube Controller Adapter.

Primary LanguageRust

gcfeeder

A ViGEm feeder for GameCube controllers using the GameCube Controller Adapter.

The process for reading adapter inputs is based on Dolphin's GameCube Adapter support. Since this program uses the same driver as Dolphin, it does not conflict with Dolphin's passthrough.

Input Viewer

gcviewer is an input viewer that can be used with gcfeeder. It used to be a part of this repository but has moved to its own after commit c4c65b2.

ESS Adapter

A built-in ESS adapter for use in Dolphin with mappings for the following games is also included.

  • The Legend of Zelda: Ocarina of Time (OoT) on Virtual Console
  • The Legend of Zelda: Majora's Mask (MM) on Virtual Console
  • OoT and MM on GameCube

Usage Requirements

  • WinUSB (libusb) driver must be installed for the adapter (WUP-028) with Zadig. For a tutorial follow Dolphin's guide here.

ViGEm

Config

The configuration is stored in gcfeeder.toml.

ViGEm Options

Options found under the vigem_config key.

  • pad can be x360 to emulate an Xbox 360 controller, and ds4 to emulate a DualShock 4 controller.
  • trigger_mode can be:
    • analog - Only the analog trigger input on the GameCube controller will be mapped to the output trigger.
    • digital - Only the digital trigger input on the GameCube controller will be mapped to the output trigger.
    • combination - If the digital trigger is pressed output trigger will max. Otherwise, analog trigger input is used.
    • stick_click - Digital trigger inputs will be treated as a stick click. Trigger output uses analog trigger input.

Notes

  • libusb does not allow more than one process to interface with a device at a time, so, the feeder may not be active when using Dolphin's passthrough.