In order to edit this wiki, you must register and verify your account.
Motion controls: Difference between revisions
(30 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
=Motion Data in Wii U and | ===Motion Data in Wii U and Cemu=== | ||
The Wii U provides motion data to games either with the Wii U GamePad | 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.)<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> | |||
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. | |||
The | = 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) | '''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:// | 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 | ===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] | Windows: | ||
[https://epigramx.github.io/WiimoteHook WiimoteHook]<br> | |||
[http://drive.google.com/uc?export=download&id=123Lq-uX2lwL2Y42iiYi6fUJVwTawiHU9 Download URL Mirror]) | |||
Linux: [https://github.com/v1993/linuxmotehook linuxmotehook] | It may also run on Linux with wineconsole if .NET 4.5.2 or better is installed. | ||
Linux Alternative: [https://github.com/v1993/linuxmotehook linuxmotehook] | |||
===Steam Controller=== | ===Steam Controller=== | ||
Installation and details: [https:// | Installation and details: [https://cemu.cfw.guide/controller-configuration Motion Control Guide] | ||
===Nintendo Switch | ===Nintendo Switch Controllers=== | ||
Installation and details: | Installation and details: | ||
Windows: [https:// | Windows: [https://cemu.cfw.guide/controller-configuration Motion Control Guide] | ||
Linux: [https://github.com/joaorb64/joycond-cemuhook joycond-cemuhook] | 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 | |||
Installation and details: [https://github.com/v1993/evdevhook evdevhook] | |||
=== Phones/Tablets that include a gyroscope === | === Phones/Tablets that include a gyroscope === | ||
Line 45: | Line 63: | ||
===Iphone=== | ===Iphone=== | ||
Download releases Gyro.exe ( 1.9) [https://github.com/hjmmc/WebGyroForCemuhook Gyro.exe] | Download releases Gyro.exe (1.9) [https://github.com/hjmmc/WebGyroForCemuhook Gyro.exe] | ||
Double click Gyro.exe | Double click Gyro.exe | ||
Line 67: | Line 85: | ||
iPhones via an app: [https://github.com/shiftinv/MotionSourceiOS MotionSourceiOS] | iPhones via an app: [https://github.com/shiftinv/MotionSourceiOS MotionSourceiOS] | ||
<br><br><br><br><br><br><br><br> | <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 | ||
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 81: | Line 101: | ||
Installation: Refer to the full-motion section URLs | Installation: Refer to the full-motion section URLs | ||
= 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 87: | Line 107: | ||
Installation and details: Refer to the full-motion section URLs | Installation and details: Refer to the full-motion section URLs | ||
=== | ===Wiimotes without MotionPlus=== | ||
Note: the original | 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 101: | 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. | ||
[[Category:List of tutorials]] | |||
[[Category: |
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.
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.