marcowindt / WiiMoteDSU

Virtual wii mote with DSU/cemuhook server for android and iOS, made with flutter.
MIT License
103 stars 18 forks source link
android dart flutter ios

WiiMoteDSU

Download via App Store or Play Store

Download on the App StoreGet it on Google Play

Read the full README to know how to setup the connection between your mobile device and Dolphin

Installation (without App Store or Play Store)

Android

Download and install the .apk file from the Releases section.

iOS

Download the .ipa file from the Releases section.

If you are jailbroken, you can install AppSync Unified and then install the IPA file directly, just like on Android.

If you are not jailbroken, you will need to sign the IPA first. You can do this for free using AltStore or Sideloadly, but restrictions will apply, such as the need to reinstall every 7 days. If you own a signing certificate, you use it with ios-app-signer or similar for a more permanent solution.

Build & Run

Dolphin

If you want to use this application with the Dolphin emulator, select other input devices and fill in your phones IP address and port 26760. Moreover, a controller profile configuration file can be found in this repository, which should work for most games (some games using motion input may be troublesome, although implemented).

More detailed steps

Note: While the screenshots are from the Dolphin application for Mac OS, the same holds (and has been tested) for the Windows version.

  1. Open Controller Settings

  2. Click Alternate Input Sources

  3. Check Enable

  4. Fill in your phone's IP Address and port number 26760.

  5. Select Emulated Wii Remote as "Wii Remote 1" and click Configure.

  6. While the application is open on your phone, "DSUClient/0/DualShock 3" (your phone) should be listed as possible input device, select it as input device.

    Screenshot of controller configuration
  7. You can now either map the buttons manually or use the WiiMoteDSU.ini profile file in this repository:

    1. If using the profile from this repository place it within the Config folder of Dolphin:
      • Windows: (Documents/Dolphin Emulator/)Config/Profiles/Wiimote/WiiMoteDSU.ini
      • Mac OS: /Users/username/Library/Application Support/Dolphin/Config/Profiles/Wiimote/WiiMoteDSU.ini
    2. When placed in this folder you can type "WiiMoteDSU" as profile and press 'Load' on the controller configuration screen.
      Load custom controller profile
      Note: Set Extension to "None", something else (like Nunchunk) can override button mappings.

Extra: Pad Test (Windows only)

If you don't see your phone as controller appearing in the list while configuring an "Emulated Wii Remote" you can test whether the connection works using the DSU Pad Test application:

Example testing connection using DSU Pad Test on Windows

Credits

A lot of this application's code was made possible by looking at an existing DSU server implementation for Joy Con controllers at https://github.com/joaorb64/joycond-cemuhook/tree/master

Also the specification of the DSU protocol at https://v1993.github.io/cemuhook-protocol/ is of great value

Screenshots

Screenshot of the application Wii Classic Controller Screenshot of the available settings