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

Motion controls: Difference between revisions

From Cemu Wiki
Jump to:navigation Jump to:search
(48 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=The Solutions for motion data / motion controls for Cemu=
===Motion Data in Wii U and Cemu===
The Wii U provides motion data to games either with the Wii U GamePad (common) or a Wii Remote Plus (less common). In order to have data of that sort in Cemu we can either a) Feed them to the emulated GamePad via a motion server for a real motion controller that [[Cemuhook]] listens to, or b) Feed them to the emulated Wii Remote via the native methods of Cemu or c) Feed them to Cemu via a workaround that involves right clicking the Cemu window with the mouse.
The Wii U provides motion data to games either with the Wii U GamePad or a Wiimote (MotionPlus model). In order to have that in Cemu we can:


= Emulated GamePad Motion Sensing =
a) 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.)<br>
b) Use the emulated Wiimote Controller API in Cemu's Input Menu in combination with a real Wiimote (MotionPlus model.)<br>
c) Use a hacky workaround that involves right-click & dragging within the Cemu window, which isn't recommended if it can be avoided.<br>


The Wii U GamePad includes a gyroscope and accelometer which are used to provide full motion data to several games, including BotW Shrines. In order to emulate that on Cemu we have several options based on [[Cemuhook]].
Cemu 1.18.0 or later supports the [[Cemuhook]] motion API natively (Input Options > API > DSUClient) and it also adds native motion for the emulated Wiimote Controller API.<br>
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 ==
= Full-motion Solutions =
The following solutions are full-motion because they provide a 3-axis gyroscope and 3-axis accelerometer. Examples of devices with limitations are a DualShock3 (only 1 axis gyroscope) and a non-MotionPlus Wii Remote (only accelerometer).
The following solutions are full-motion because they provide a 3-axis gyroscope and 3-axis accelerometer.
===DualShock 4===
 
===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 (e.g. SM3DW)
'''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 (e.g. SM3DW)


Installation and details:  
Installation and details:  


Windows: [https://cemuhook.sshnuke.net/padudpserver.html Cemuhook's guide on DS4Windows] (Make sure to use DS4Windows by Ryochan7 (instead of the original by Jays2Kings) [https://github.com/Ryochan7/DS4Windows/releases Download page]. In DS4Windows, enable the ''UDP Server'' setting in the ''Settings'' tab.)
Windows: [https://cemu.cfw.guide/controller-configuration Motion Control Guide]


Linux: [https://github.com/epigramx/ds4drv-cemuhook ds4drv-cemuhook] (rumble should also work with wine's xinput emulation by enabling it in cemu's options)
Linux: [https://github.com/epigramx/ds4drv-cemuhook ds4drv-cemuhook] (rumble should also work with wine's xinput emulation by enabling it in cemu's options) or see section "Various controllers on Linux "


===MotionPlus Wii Remotes===
===Motion via the native support of Wiimotes (MotionPlus model)===
Motion for the emulated Wiimote Controller API option should be supported (or should be supported eventually) 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.
 
===3rd Party Alternative for Wiimotes (MotionPlus model)===
Installation and details:  
Installation and details:  


Windows: [https://epigramx.github.io/WiimoteHook WiimoteHook] ([https://forum.cemu.info/showthread.php/140 forum thread], [https://web.archive.org/web/20190524182502/https://forum.cemu.info/showthread.php/140 mirror of thread], [http://drive.google.com/uc?export=download&id=123Lq-uX2lwL2Y42iiYi6fUJVwTawiHU9 download URL])(it may also run on Linux with wineconsole if .NET 4.5.2 or better is installed)
Windows:  
[https://epigramx.github.io/WiimoteHook WiimoteHook]<br>
[http://drive.google.com/uc?export=download&id=123Lq-uX2lwL2Y42iiYi6fUJVwTawiHU9 Download URL Mirror])
 
It may also run on Linux with wineconsole if .NET 4.5.2 or better is installed.


Linux: [https://github.com/v1993/linuxmotehook linuxmotehook]
Linux Alternative: [https://github.com/v1993/linuxmotehook linuxmotehook]


===Steam Controller===
===Steam Controller===
Installation and details: [https://github.com/FrogTheFrog/steam-gyro-for-cemuhook Steam Gyro for Cemuhook]
Installation and details: [https://cemu.cfw.guide/controller-configuration Motion Control Guide]
 
===Nintendo Switch Controllers===
 
Installation and details:
 
Windows: [https://cemu.cfw.guide/controller-configuration Motion Control Guide]
 
Linux: [https://github.com/joaorb64/joycond-cemuhook joycond-cemuhook] or see section "Various controllers on Linux"
 
===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:
 
* Nintendo Switch JoyCons/ProCon
* DualShock 3/4 and DualSense controllers


===Nintendo Switch controllers===
Installation and details: [https://github.com/v1993/evdevhook evdevhook]
Installation and details: [https://github.com/Davidobot/BetterJoyForCemu BetterJoyForCemu]


=== Phones/Tablets that include a gyroscope ===
=== Phones/Tablets that include a gyroscope ===
Line 34: Line 59:
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.
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.


Installation and details:  
[[File:Safair Iphone.png|thumb|left]]
 
===Iphone===
 
Download releases Gyro.exe (1.9) [https://github.com/hjmmc/WebGyroForCemuhook 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: [https://cemuhook.sshnuke.net/padudpserver.html MotionSource]
Android: [https://cemuhook.sshnuke.net/padudpserver.html MotionSource]
Line 44: Line 85:
iPhones via an app: [https://github.com/shiftinv/MotionSourceiOS MotionSourceiOS]
iPhones via an app: [https://github.com/shiftinv/MotionSourceiOS MotionSourceiOS]


== Full-motion Solutions with limitations==  
<br><br><br><br><br><br><br><br><br>
 
= Full-motion Solutions with Limitations =


=== DualShock 3 ===
=== 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
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


Installation and details: [https://cemuhook.sshnuke.net/padudpserver.html Cemuhook's ScpToolkit patch]
Windows: [https://cemuhook.sshnuke.net/padudpserver.html Cemuhook's ScpToolkit patch]
 
Linux: see section "Various controllers on Linux".


=== Phones/Tablets that have a magnetometer instead of a gyroscope ===
=== Phones/Tablets that have a magnetometer instead of a gyroscope ===
Line 56: Line 101:
Installation: Refer to the full-motion section URLs
Installation: Refer to the full-motion section URLs


== Partial solutions ==  
= Partial solutions =
===Phones/Tablets that don't even have a magnetometer===
===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
Note: Some low-end phones have only an accelerometer, making it impossible to have a yaw axis; that makes them unusable in several cases
Line 62: Line 107:
Installation and details: Refer to the full-motion section URLs
Installation and details: Refer to the full-motion section URLs


===Wii Remotes without MotionPlus hardware===
===Wiimotes without MotionPlus===
Note: the original Wii Remotes had only an accelerometer so they can be only useful partially, e.g. as a "Wii Wheel" for MK8
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
Installation and details: Refer to the full-motion section URLs
Line 76: Line 121:
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.
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.


= Emulated Wii Remote Motion Sensing=
[[Category:List of tutorials]]
 
==Out of the box Wii Remote hardware solution==
This should be supported (or should be supported eventually) out of the box from the Cemu input options after an Emulated Wii Remote and a real Wii Remote are used simultaneously for games that require the Wii Remote. MotionPlus option can be used for adding gyroscope data or without it, for only accelerometer data.
 
[[Category:List_of_tutorials]]

Revision as of 22:58, 26 April 2021

Motion Data in Wii U and Cemu

The Wii U provides motion data to games either with the Wii U GamePad or a Wiimote (MotionPlus model). In order to have that in Cemu we can:

a) 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.)
b) Use the emulated Wiimote Controller API in Cemu's Input Menu in combination with a real Wiimote (MotionPlus model.)
c) Use a hacky workaround that involves right-click & dragging within the Cemu window, which isn't recommended if it can be avoided.

Cemu 1.18.0 or later supports the Cemuhook motion API natively (Input Options > API > DSUClient) and it also 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 3-axis gyroscope and 3-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 (e.g. SM3DW)

Installation and details:

Windows: Motion Control Guide

Linux: ds4drv-cemuhook (rumble should also work with wine's xinput emulation by enabling it in cemu's options) or see section "Various controllers on Linux "

Motion via the native support of Wiimotes (MotionPlus model)

Motion for the emulated Wiimote Controller API option should be supported (or should be supported eventually) 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.

3rd Party Alternative for Wiimotes (MotionPlus model)

Installation and details:

Windows: WiimoteHook
Download URL Mirror)

It may also run on Linux with wineconsole if .NET 4.5.2 or better is installed.

Linux Alternative: linuxmotehook

Steam Controller

Installation and details: Motion Control Guide

Nintendo Switch Controllers

Installation and details:

Windows: Motion Control Guide

Linux: joycond-cemuhook or see section "Various controllers on Linux"

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:

  • Nintendo Switch JoyCons/ProCon
  • DualShock 3/4 and DualSense controllers

Installation and details: 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.