- AppletCompanion: The homebrew application for interfacing with the sysmodule.
- ControllerLib: The controller driver library. Since it is up to the user to provide the USB implementation, this library becomes platform independent. To use it, one must inherit abstract classes
IUSBDevice
,IUSBInterface
,IUSBEndpoint
and implement them for your target platform. - ControllerSwitch: The switch implementation for ControllerLib. It contains the wrappers for the abstract classes, as well as classes responsible for creating a virtual controller on the switch.
- Sysmodule: The background process that does all the work. Responsible for detecting controllers and holding controller information, applying any changes in the config, writing to log.