GaryOderNichts / Bloopair

Allows connecting controllers from other consoles like native Wii U Pro Controllers on the Wii U
GNU General Public License v2.0
333 stars 9 forks source link
controller homebrew wiiu

Banner

Bloopair

Bloopair allows connecting controllers from other consoles like native Wii U Pro Controllers on the Wii U.
It temporarily applies patches to the IOS-PAD module responsible for Bluetooth controller connections.

Features

Supported controllers

Installation

Make sure you're using Tiramisu or Aroma. Follow https://wiiu.hacks.guide/#/ to setup Tiramisu.
More info about Tiramisu here: https://maschell.github.io/homebrew/2021/12/31/tiramisu.html

Usage

If a controller had been paired in the past, simply turn it on again and it should reconnect.

Pairing a DualShock 3

The DualShock 3 needs to be paired using a USB cable. After the initial pairing it can be used like any other wireless Bluetooth controller.

The DualShock 3 is now ready to use with the console.

FAQ / Troubleshooting

My controller doesn't pair to the console

Make sure Bloopair is running and both the console and the controller are in SYNC mode.
Also make sure the controller is on the supported list.
Wait for about a minute, and if nothing happens restart your console and redo the process.
You can also try clearing controller syncs.

Will you add support for controller xyz?

Possibly, I've for now added support for all the controllers I currently own. Maybe I can get a few more controllers which I could add support for.
Pull requests for different controllers are always welcome.

To-Do

How it works

Bloopair will patch the IOSU's IOS-PAD module in memory. It will make sure any bluetooth peripheral can be paired to the console.
Once paired and connected it will convert received HID reports to the Pro Controller HID report format, which padscore expects.

Project structure

Bloopair
├── dist            - Used for creating distributable packages.
├── ios             - Bloopair IOSU patches.
│   ├── ios_kernel  - Kernel patches used for setting up Bloopair.
│   ├── ios_pad     - Core Bloopair patches.
│   └── ios_usb     - Patches used to recover from IOS exploit done by loader.
├── libbloopair     - Library to communicate with Bloopair IPC.
├── loader          - Setup module which loads Bloopair.
└── pair_menu       - DS3 pairing application.

Building

Install devkitPPC, devkitARM and wut.
Run make.