DSU Client: Difference between revisions

m
General maintenance with AutoWikiBrowser in Bot mode
(→‎Linux: evdevhook -> evdevhook2; the future is now!)
m (General maintenance with AutoWikiBrowser in Bot mode)
 
(One intermediate revision by one other user not shown)
Line 23: Line 23:
* '''[https://github.com/iwubcode/OpenTrackDSUServer OpenTrack DSU Server] (experimental):''' allows passing through [https://github.com/opentrack/opentrack OpenTrack] methods of control via UDP.
* '''[https://github.com/iwubcode/OpenTrackDSUServer OpenTrack DSU Server] (experimental):''' allows passing through [https://github.com/opentrack/opentrack OpenTrack] methods of control via UDP.
* '''[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 not recommended. Consider using 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 not recommended. Consider using DS4Windows instead.
* '''[https://github.com/msxmine/SI2DSU SI2DSU]:''' connects to SteamWorks and serves a controller recognized by SteamInput. Allows some gyro controllers to work over Steam Link/Remote Play/In-Home Streaming.
* '''[https://github.com/msxmine/SI2DSU SI2DSU]:''' connects to SteamWorks and serves a controller recognized by SteamInput. Allows some gyro controllers to work over Steam Link/Remote Play/In-Home Streaming.
* '''[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://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.
* '''[https://epigramx.github.io/WiimoteHook/ 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 44: Line 44:
== Setting up ==
== Setting up ==
=== DSU Server ===
=== DSU Server ===
# Download and install a suitable server application for your OS and input device.  
# Download and install a suitable server application for your OS and input device.
# Follow the application instructions to connect your input device.
# Follow the application instructions to connect your input device.
# Depending of the application, manually enable the "UDP Server" option (or similar).
# Depending of the application, manually enable the "UDP Server" option (or similar).
Line 52: Line 52:
=== Dolphin ===
=== Dolphin ===
# Make sure you're running Dolphin {{revision|5.0-11083}} or newer.
# Make sure you're running Dolphin {{revision|5.0-11083}} or newer.
# Go to Controller Settings => Alternate Input Sources.
# Go to Controller Settings Alternate Input Sources.
# On the DSU Client tab, mark the "Enable" checkbox, then click on "Add" and enter the IP Address and Port where the server application is listening.
# On the DSU Client tab, mark the "Enable" checkbox, then click on "Add" and 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 shown on Emulated GameCube Controllers, Emulated Wii Remotes and Hotkey Settings windows.
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.
Line 67: Line 67:


=== Motion sensors ===
=== Motion sensors ===
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 axles in other places as well. By default, the Accelerometer and Gyroscope bindings of the "Motion Input" tab should be already populated with the matching axles 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 axles in other places as well. By default, the Accelerometer and Gyroscope bindings of the "Motion Input" tab should be already populated with the matching axles 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 axles 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 axles 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).
Line 92: Line 92:


=== 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 ===
With the exception of the Start, Select, PS, L3 and R3, all DualShock 3 buttons are pressure sensitive. Different from the common input APIs, the amount of pressure being applied to each button is reported back to Dolphin as full analog buttons when accessing DualShock 3 controllers through DSU protocol.  
With the exception of the Start, Select, PS, L3 and R3, all DualShock 3 buttons are pressure sensitive. Different from the common input APIs, the amount of pressure being applied to each button is reported back to Dolphin as full analog buttons when accessing DualShock 3 controllers through DSU protocol.


By default, Dolphin will register analog buttons as "pressed" when at least 50% of force is applied to them, but users can fine-tune that threshold individually by right-clicking each binding and adjusting the "Range" slider. For instance, setting the range to 200 will register the buttons as pressed when 25% of force is applied to them, and that value seems to provide a button press feedback very close of other controllers with digital-only face buttons (e.g. DualShock 4, Xbox, Joy-Con, Pro Controller, etc).
By default, Dolphin will register analog buttons as "pressed" when at least 50% of force is applied to them, but users can fine-tune that threshold individually by right-clicking each binding and adjusting the "Range" slider. For instance, setting the range to 200 will register the buttons as pressed when 25% of force is applied to them, and that value seems to provide a button press feedback very close of other controllers with digital-only face buttons (e.g. DualShock 4, Xbox, Joy-Con, Pro Controller, etc).


[[Category:Tutorials]]
[[Category:Tutorials]]