In order to edit this wiki, you must register and verify your account.

Motion controls

From Cemu Wiki
Revision as of 02:33, 23 June 2022 by ElijahPepe (talk | contribs) (Rewrite page.)
Jump to:navigation Jump to:search

The Wii U provides motion data to games either with the Wii U GamePad or a Wiimote (MotionPlus model). In order to accomplish that in Cemu, one of the following methods can be attempted:

  1. Use a UDP-based motion server application to send the motion data of a real motion-support controller (that Cemuhook's GamePad Motion Source API listens to).
  2. Use the emulated Wiimote Controller API in Cemu's input menu in combination with a real Wiimote (MotionPlus model.)
  3. Use a hacky workaround that involves right clicking and dragging within the Cemu window. This option isn't recommended.

Cemu 1.18.0 and later supports the Cemuhook motion API natively (Input Options > API > DSUClient) and adds native motion for the emulated Wiimote Controller API.

Note
Cemu's DSUClient API option should not yet be used due to some inconsistencies. The Wiimote Controller API should still be fine, however.

Full-motion solutions

The following solutions are full-motion because they provide a three-axis gyroscope and three-axis accelerometer.

DualShock 4 (DS4) or DualSense (DS5)

Note
This is a very feature-rich solution because the device also includes a touchpad which can be very useful at games that do heavy usage of the GamePad touchscreen, such as Super Mario 3D World

Cemu supports the motion control capabilities within the DualShock 4 and DualSense natively by setting the API to the SDLController API on Windows. On Linux, ds4drv-cemuhook is needed (rumble should also work with Wine's XInput emulation).

Wiimotes (MotionPlus model)

Motion for the emulated Wiimote Controller API option is supported out of the box when the Wiimote API is used with a real Wiimote in Cemu's input options. This is necessary for games that absolutely require a Wiimote.

Alternative methods

Third-party alternatives exist for motion control support via Wiimotes (MotionPlus model), including WiimoteHook (mirror).

On Linux, linuxmotehook exists. WiimoteHook, depending on your setup, may work on Linux if wineconsole and .NET 4.5.2 or better are installed.

Steam Controller

Cemu supports the motion control capabilities within the Steam Controller natively by setting the API to the SDLController API on Windows.

Nintendo Switch controllers

Cemu supports the motion control capabilities within Nintendo Switch controllers natively by setting the API to the SDLController API on Windows. On Linux, joycond-cemuhook works.

Various controllers on Linux

Since Linux allows its drivers to expose motion data to userspace, it is possible to read it from such modern drivers for multiple devices. This also means ever-expanding list of supported devices as drivers for them become available. Please note that only motion feature is provided, neither buttons nor touchscreen are mapped even if present. Supported devices currently include the Nintendo Switch Joy-Cons and Pro Controller, as well as the DualShock 3, DualShock 4, and DualSense controllers via evdevhook.

Phones/Tablets that include a gyroscope

Note: not all phones include a gyroscope; some include a magnetometer which is sluggish or even only an accelerometer in which case there will be no yaw motion at all.

Safair Iphone.png

Iphone

Download releases Gyro.exe (1.9) Gyro.exe

Double click Gyro.exe

Run Cemu.exe and Checked Options->GamePad mation source->DSU1->By Slot

Use your Iphone's browser (safair or chrome) open http://your.pc.ip:8080 (example http://192.168.1.100:8080)

Load the game and enjoy it =)

Tested on Iphone 6 IOS 12.4.5 and CEMU 1.18.0b

Installation and details:

Android: MotionSource

Any phone type via the browser: WebGyroForCemuhook

Windows Phones: UWP MotionSource

iPhones via an app: MotionSourceiOS










Full-motion Solutions with Limitations

DualShock 3

Note: This full-motion solution has the limitation that the ds3 gyroscope provides only yaw axis data; this makes it more responsive at yaw-turning when the device is at the standard orientation

Windows: Cemuhook's ScpToolkit patch

Linux: see section "Various controllers on Linux".

Phones/Tablets that have a magnetometer instead of a gyroscope

Note: these phones have full motion but it's sluggish at the yaw axis motion compared to hardware-gyroscope phones

Installation: Refer to the full-motion section URLs

Partial solutions

Phones/Tablets that don't even have a magnetometer

Note: Some low-end phones have only an accelerometer, making it impossible to have a yaw axis; that makes them unusable in several cases

Installation and details: Refer to the full-motion section URLs

Wiimotes without MotionPlus

Note: the original Wiimotes had only an accelerometer so they can be only useful partially, e.g. as a "Wii Wheel" for MK8

Installation and details: Refer to the full-motion section URLs

Xbox controllers / Analog Stick motion emulation

Note: This solution emulates motion data with analog sticks of controllers; it is counter-intuitive in several cases; it is common to combine a phone with such controllers instead

Installation and details: cemu-no-gyro

Out of the box mouse solution

For this solution just right click on the game and move the mouse (including the wheel of the mouse). It is very counter-intuitive so you might want to avoid it.