DSU Client: Difference between revisions

Jump to navigation Jump to search
1,513 bytes added ,  28 April 2020
→‎DSU Server Applications: for Wii Remotes, recommend using Dolphin's built-in feature instead of a DSU Server
(Minor text fixes, finished the remaining sections)
(→‎DSU Server Applications: for Wii Remotes, recommend using Dolphin's built-in feature instead of a DSU Server)
(11 intermediate revisions by the same user not shown)
Line 5: Line 5:


=== Linux ===
=== Linux ===
As of {{revision|5.0-11083}}, motion axis of Wii Remotes, DualShock 3 and DualShock 4 controllers can be directly mapped in Dolphin through evdev input API. Additionally, the following servers are available:
As of {{revision|5.0-11484}}, motion axes of Wii Remotes, DualShock 3 and DualShock 4 controllers can be directly mapped in Dolphin through evdev input API. Additionally, the following servers are available:
* '''[https://github.com/TheDrHax/ds4drv-cemuhook ds4drv] (TheDrHax fork):''' compatible with all DualShock 4 controllers.
* '''[https://github.com/TheDrHax/ds4drv-cemuhook ds4drv] (TheDrHax fork):''' compatible with all DualShock 4 controllers.
* '''[https://github.com/v1993/linuxmotehook linuxmotehook]:''' compatible with Wii Remotes. For Wii titles, it's recommended to connect the Wii Remotes directly to Dolphin instead of using a DSU Server.
* '''[https://github.com/v1993/linuxmotehook linuxmotehook]:''' compatible with Wii Remotes. Starting with {{revision|5.0-11684}}, Dolphin can map Wii Remote buttons and motion axes directly, by enabling "Connect Wii Remotes for Emulated Controller" option on Controller Settings. Consider using Dolphin's built-in functionality instead of linuxmotehook.


=== Windows ===
=== Windows ===
Line 14: Line 14:
* '''[https://github.com/FrogTheFrog/steam-gyro-for-cemuhook Steam Gyro for CemuHook]:''' compatible with Steam Controllers.
* '''[https://github.com/FrogTheFrog/steam-gyro-for-cemuhook Steam Gyro for CemuHook]:''' compatible with Steam Controllers.
* '''[https://github.com/nefarius/ScpToolkit ScpToolkit] (Nefarius fork, [https://github.com/rajkosto/ScpToolkit/releases requires patching]):''' compatible with DualShock 3 and older DualShock 4 controllers (model CUH-ZCT1x). Since ScpToolkit is unmaintained and has connectivity issues with the newer DualShock 4 controllers (model CUH-ZCT2x), its usage is recommended only with DualShock 3 controllers. For DualShock 4 controllers, use DS4Windows instead.
* '''[https://github.com/nefarius/ScpToolkit ScpToolkit] (Nefarius fork, [https://github.com/rajkosto/ScpToolkit/releases requires patching]):''' compatible with DualShock 3 and older DualShock 4 controllers (model CUH-ZCT1x). Since ScpToolkit is unmaintained and has connectivity issues with the newer DualShock 4 controllers (model CUH-ZCT2x), its usage is recommended only with DualShock 3 controllers. For DualShock 4 controllers, use DS4Windows instead.
* '''[https://forum.cemu.info/showthread.php/140-WiimoteHook-Nintendo-Wii-Remote-with-MotionPlus-Rumble-and-Nunchuk-support WiimoteHook]:''' compatible with Wii Remotes. For Wii titles, it's recommended to connect the Wii Remotes directly to Dolphin instead of using a DSU Server.
* '''[https://www.ppxclub.com/675647-1-1 WiimoteHook]:''' compatible with Wii Remotes. Starting with {{revision|5.0-11684}}, Dolphin can map Wii Remote buttons and motion axes directly, by enabling "Connect Wii Remotes for Emulated Controller" option on Controller Settings. Consider using Dolphin's built-in functionality instead of WiimoteHook.


=== macOS ===
=== macOS ===
Line 34: Line 34:
# Go to Controller Settings => Alternate Input Sources.
# Go to Controller Settings => Alternate Input Sources.
# On the DSU Client tab, mark the "Enable" checkbox then enter the IP Address and Port where the server application is listening.
# On the DSU Client tab, mark the "Enable" checkbox then enter the IP Address and Port where the server application is listening.
If everything is working, you should now see new <code>DSUClient/x/xxxx</code> entries on the Devices drop-down menu.
If everything is working, you should now see new <code>DSUClient/x/xxxx</code> entries on the Devices drop-down menu shown on Emulated GameCube Controllers, Emulated Wii Remotes and Hotkey Settings windows.


== Using DSU devices in Dolphin ==
== Using DSU devices in Dolphin ==
Line 47: Line 47:


=== Motion sensors ===
=== Motion sensors ===
The configuration of motion sensors are mostly used on the "Motion Input" tab of Emulated Wii Remotes present in {{revision|5.0-11083}} and newer, although nothing prevents you from binding the motion sensor axes in other places as well. By default, the Accelerometer and Gyroscope bindings should be already populated with the matching axes from the DSU Server.  
The configuration of motion sensors are mostly used on the "Motion Input" tab (since {{revision|5.0-11083}}) and on "Extension Motion Input" tab (since {{revision|5.0-11478}}, visible only when Nunchuk is the currently selected extension) of Emulated Wii Remotes, although nothing prevents you from binding the motion sensor axes in other places as well. By default, the Accelerometer and Gyroscope bindings of the "Motion Input" tab should be already populated with the matching axes from the DSU Server.  


If they are blank (e.g. the current controller configuration was created by an older Dolphin version), you can manually assign the corresponding motion axes by right-clicking each binding and picking the corresponding axis on the end of the list or you can simply click on the Default button in the main window (but keep in mind this will reset all bindings in all tabs).
If they are blank (e.g. the current controller configuration was created by an older Dolphin version), you can manually assign the corresponding motion axes by right-clicking each binding and picking the corresponding axis on the end of the list or you can simply click on the Default button in the main window (but keep in mind this will reset all bindings in all tabs).


Additionally, if you're on Linux, you can completely skip the whole setup of DSU Server/Client and directly assign the motion sensor axes of DualShock 3 and 4 controllers by selecting the corresponding <code>evdev/x/xxxx</code> entry on the Devices drop-down menu, thanks to the Linux evdev API natively supporting those controllers.
Additionally, if you're on Linux, you can completely skip the whole setup of DSU Server/Client and directly assign the motion sensor axes of most controllers by selecting the corresponding <code>evdev/x/xxxx</code> entry on the Devices drop-down menu, thanks to the Linux evdev API natively exposing motion axes.
 
=== Emulated pointer ===
On Dolphin {{revision|5.0-11083}} and newer, if the Accelerometer and Gyroscope bindings of the "Motion Input" tab of Emulated Wii Remotes are assigned correctly, the Wii Remote IR Pointer position will be derived from the motion sensors, thus dispensing the need for a sensor bar. To fine-tune the emulated pointer, you can assign a button to recenter the cursor when pressed and can also adjust the maximum rotation of the yaw axis through the bindings present on the "Point" section in the "Motion Input" tab of Emulated Wii Remotes. Also, starting with Dolphin {{revision|5.0-11205}}, this feature can be manually disabled in case you still want to map the IR Pointer through the bindings of the "Motion Simulation" tab.


== Troubleshooting ==
== Troubleshooting ==
=== <code>DSUClient/x/xxxx</code> entries doesn't appear on Dolphin's Devices List ===
=== <code>DSUClient/x/xxxx</code> entries doesn't appear on Dolphin's Devices list ===
Assuming you've set up your DSU Server correctly, here's a common checklist:
Assuming you've set up your DSU Server correctly, here's a common checklist:
* Did you enable DSU Client in Dolphin? (Controller Settings => Alternate Input Sources)
* Is the DSU Server running?
* Did you specify the correct server IP Address and server port on Dolphin?
* Did you [[DSU_Client#Dolphin|enable the DSU Client in Dolphin]]?
* Did you specify the correct server IP Address and server port in Dolphin?
* Have you checked if both the DSU Server application and Dolphin are whitelisted on your OS firewall?
* Have you checked if both the DSU Server application and Dolphin are whitelisted on your OS firewall?
* Is there any other DSU Client program running at the same time as Dolphin?
Additionally, on Windows, you can use the [https://files.sshnuke.net/PadTest_1011.zip DSU Pad Test] application to check if the DSU Server is communicating correctly. If no devices are detected on the DSU Pad Test, you should check your DSU Server settings before trying to use the input devices with Dolphin.
Additionally, on Windows, you can use the [https://files.sshnuke.net/PadTest_1011.zip DSU Pad Test] application to check if the DSU Server is communicating correctly. If no devices are detected on the DSU Pad Test, you should check your DSU Server settings before trying to use the input devices with Dolphin.
=== I can't reach the left/right sides of the screen with the emulated pointer ===
Increasing "Total Yaw" on the Motion Input tab of Emulated Wii Remotes should fix that. Keep in mind there isn't a correct value as the amount of yaw needed for the emulated pointer reach both sides of the screen varies a lot between different games, so finding a value that works with all games is somewhat impossible.


=== I'm using a DualShock 3 controller and button presses only register if I press the buttons hard ===
=== I'm using a DualShock 3 controller and button presses only register if I press the buttons hard ===

Navigation menu