15,187
edits
mNo edit summary |
(→Motion sensors: mention SDL, minor rewording) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
* '''[https://github.com/v1993/evdevhook evdevhook]:''' compatible with all controllers that properly expose motion via evdev (Nintendo Switch controllers, DualShock 3/4 and DualSense). | * '''[https://github.com/v1993/evdevhook evdevhook]:''' compatible with all controllers that properly expose motion via evdev (Nintendo Switch controllers, DualShock 3/4 and DualSense). | ||
* '''[https://github.com/joaorb64/joycond-cemuhook joycond-cemuhook]:''' compatible with Nintendo Switch controllers. | * '''[https://github.com/joaorb64/joycond-cemuhook joycond-cemuhook]:''' compatible with Nintendo Switch controllers. | ||
* '''[https://github.com/v1993/ | * '''[https://github.com/v1993/linuxmotehook2 linuxmotehook2]:''' compatible with Wii Remotes. Starting with {{revision|5.0-11684}}, Dolphin can map Wii Remote buttons and motion axles directly, by enabling "Connect Wii Remotes for Emulated Controller" option on Controller Settings. Consider using Dolphin's built-in functionality instead of linuxmotehook. | ||
* '''[https://github.com/kmicki/SteamDeckGyroDSU SteamDeckGyroDSU]:''' compatible with the Steam Deck, requires SteamOS 3.0. | * '''[https://github.com/kmicki/SteamDeckGyroDSU SteamDeckGyroDSU]:''' compatible with the Steam Deck, requires SteamOS 3.0. | ||
Line 20: | Line 20: | ||
* '''[https://github.com/Davidobot/BetterJoy BetterJoy]:''' compatible with Nintendo Switch Joy-Con and Pro Controllers. | * '''[https://github.com/Davidobot/BetterJoy BetterJoy]:''' compatible with Nintendo Switch Joy-Con and Pro Controllers. | ||
* '''[https://github.com/MichaelJW/DorsalVR DorsalVR]:''' compatible with OpenXR devices (ex: VR HMD and controllers). | * '''[https://github.com/MichaelJW/DorsalVR DorsalVR]:''' compatible with OpenXR devices (ex: VR HMD and controllers). | ||
* '''[https:// | * '''[https://github.com/Ryochan7/DS4Windows DS4Windows] (Ryochan7 fork):''' compatible with all DualShock 4 models, DualSense, Nintendo Switch Joy-Con and Pro Controllers. | ||
* '''[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 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. | ||
Line 34: | Line 34: | ||
=== Android === | === Android === | ||
* '''[https://files.sshnuke.net/net.sshnuke.dsu. | * '''[https://play.google.com/store/apps/details?id=com.dsucontroller DSUController]:''' provides motion sensor data and basic button functionality. | ||
* '''[https://files.sshnuke.net/net.sshnuke.dsu.MotionSource64.apk rajkosto's MotionSource]:''' provides only motion sensor data. | |||
* '''[https://github.com/marcowindt/WiiMoteDSU WiiMoteDSU]:''' provides motion sensor data and basic button functionality. | * '''[https://github.com/marcowindt/WiiMoteDSU WiiMoteDSU]:''' provides motion sensor data and basic button functionality. | ||
=== iOS === | === iOS === | ||
* '''[https://apps.apple.com/app/dsucontroller/id1667281421 DSUController]:''' provides motion sensor data and basic button functionality. | |||
* '''[https://github.com/marcowindt/WiiMoteDSU WiiMoteDSU]:''' requires sideloading or a jailbroken device, provides motion sensor data and basic button functionality. | * '''[https://github.com/marcowindt/WiiMoteDSU WiiMoteDSU]:''' requires sideloading or a jailbroken device, provides motion sensor data and basic button functionality. | ||
Line 65: | 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 | 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 | 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). | ||
Alternatively, you can completely skip the setup of a DSU Server/Client and directly assign the motion sensor axles of most controllers by selecting the corresponding <code>evdev/x/xxxx</code> entry on the Devices drop-down menu on Linux (or <code>SDL/x/xxxx</code> on Windows and macOS), thanks to the evdev and SDL APIs natively exposing motion axles. | |||
=== Emulated pointer === | === Emulated pointer === |