Skip to content

Commit 778abd8

Browse files
committed
docs(readme): rewrite for fork release
Replace the inherited README with fork-specific release docs and screenshots so the repository front page reflects the current app. The previous README still described the upstream project more than this fork's v1 beta feature set and setup flow. The profile storage section describes the layout the app actually uses. The inherited text still described the pre-universal format, telling users their profiles live in a subfolder per controller type. Those directories are now a migration source under LegacyProfiles, and live profiles are single files that work with any supported controller, grouped into folders the user names. Anyone following the old text to back up or move profiles would have copied the wrong directory. It also states where the fork's configuration now lives and that the upstream folder is left alone, so a user running both apps knows which folder belongs to which and that neither will disturb the other.
1 parent 7f37a5b commit 778abd8

5 files changed

Lines changed: 100 additions & 18 deletions

File tree

README.md

Lines changed: 100 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,116 @@
11
# DS4MapperTest
22

3-
Mainly used as a test ground for trying out different mapping ideas. The application can currently
4-
support using a DualShock 4, DualSense, 8BitDo Ultimate 2 Wireless, Steam Controller 2015,
5-
Steam Controller 2026, JoyCon, and Switch Pro.
3+
Fork of [archived DS4MapperTest](https://github.com/Ryochan7/DS4MapperTest), used as a testing ground for controller mapping ideas, binding behaviour, sensitivity settings, etc. The application currently supports the DualShock 4, DualSense, 8BitDo Ultimate 2 Wireless, Steam Controller 2015, Steam Controller 2026, JoyCon, and Switch Pro.
64

7-
## Runtime Dependencies
5+
## Quick Start
86

9-
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-10.0.9-windows-x64-installer
7+
- Download and run the installer: [Latest release](https://github.com/HelloHim/DS4MapperTest/releases/tag/v1.0.0-beta)
8+
- Install the runtime dependencies listed below.
9+
- Connect a supported controller.
10+
- Launch `DS4MapperTest`.
11+
- Select or create a profile.
12+
- Configure the bindings and settings you want.
13+
- Save the profile and start using it.
1014

11-
.NET 10 Desktop Runtime x64 - [https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-10.0.9-windows-x64-installer](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-10.0.9-windows-x64-installer)
12-
Visual C++ 2015-2022 Redistributable. [x64](https://aka.ms/vs/17/release/vc_redist.x64.exe)
13-
USBIP Driver (0.9.7.7 or later) - [https://github.com/vadimgrn/usbip-win2](https://github.com/vadimgrn/usbip-win2)
14-
libVIIPER (Bundled) - [https://github.com/Alia5/VIIPER](https://github.com/Alia5/VIIPER)
15+
## Profile Storage
1516

16-
### Optional Tools
17+
Profiles are saved under your Windows user profile, in `%APPDATA%\DS4TestUniversal\Profiles\`
18+
(i.e. `C:\Users\<you>\AppData\Roaming\DS4TestUniversal\Profiles\`). Each profile is a
19+
`.universal-profile.json` file and works with any supported controller, so profiles are
20+
grouped into folders you name yourself (`Default` and `VALORANT` are created for you) rather
21+
than by controller type. Back them up or move them between machines by copying that folder.
22+
23+
Profiles from before the universal format live alongside it in
24+
`%APPDATA%\DS4TestUniversal\LegacyProfiles\`, in a subfolder per controller type
25+
(`DualShock4`, `DualSense`, `SwitchPro`, `JoyCon`, `SteamController`,
26+
`SteamControllerTriton`, `EightBitDoUlt2Wireless`). These are kept only as a migration
27+
source and are not loaded directly.
1728

18-
FakerInput 0.1.1 - [https://github.com/Ryochan7/FakerInput/releases/download/v0.1.1/FakerInput_Setup_0.1.1_x64.msi](https://github.com/Ryochan7/FakerInput/releases/download/v0.1.1/FakerInput_Setup_0.1.1_x64.msi)
19-
HidHide - [https://vigem.org/projects/HidHide/](https://vigem.org/projects/HidHide/)
29+
The upstream Ryochan7 DS4MapperTest stores its data in `%APPDATA%\DS4Test\`. This fork does
30+
not read, write, copy, move, or migrate that folder automatically, so the original app and
31+
this fork can be installed side by side without affecting each other's profiles. If you want
32+
to reuse an upstream profile here, copy it manually into this fork's profile folder.
2033

21-
## Final Release
34+
## Runtime Dependencies
35+
36+
- .NET 10 Desktop Runtime x64
37+
[https://dotnet.microsoft.com/en-us/download/dotnet/10.0](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)
38+
- Visual C++ 2015-2022 Redistributable x64
39+
[https://aka.ms/vs/17/release/vc_redist.x64.exe](https://aka.ms/vs/17/release/vc_redist.x64.exe)
40+
- USBIP Driver 0.9.7.7 or later
41+
https://github.com/vadimgrn/usbip-win2
42+
- libVIIPER is bundled with the application
43+
https://github.com/Alia5/VIIPER
2244

23-
https://github.com/Ryochan7/DS4MapperTest/releases/tag/v0.0.32
45+
### Optional Tools
46+
47+
- FakerInput 0.1.1
48+
Needed for the FakerInput mouse and keyboard output backend.
49+
https://github.com/Ryochan7/FakerInput/releases/download/v0.1.1/FakerInput_Setup_0.1.1_x64.msi
50+
- HidHide
51+
For if you want to hide the physical controller while using a virtual output device.
52+
[https://docs.nefarius.at/projects/HidHide/Simple-Setup-Guide/](https://docs.nefarius.at/projects/HidHide/Simple-Setup-Guide/)
2453

2554
## Screenshots
2655

27-
![example_mapper_screen_20220605](https://user-images.githubusercontent.com/581968/172064947-bc3358c7-7ec3-4a5d-86f5-3715bd4638e7.png)
56+
![DS4MapperTest](readMeImages/hero-shot.jpg)
57+
58+
### Binding workflow
59+
60+
![Binding workflow](readMeImages/binding-workflow-shot.jpg)
61+
62+
### Mouse routing
63+
64+
![Mouse routing](readMeImages/mouse-routing-shot.jpg)
65+
66+
### Gyro sensitivity and angle calibration
67+
68+
![Gyro sensitivity and angle calibration](readMeImages/gyro-sensitivity-angle-calibration.jpg)
69+
70+
## Controller Compatibility
71+
72+
- DualShock 4
73+
- DualSense
74+
- DualSense Edge
75+
- 8BitDo Ultimate 2 Wireless
76+
- Steam Controller 2015
77+
- Steam Controller 2026
78+
- JoyCon
79+
- Switch Pro
80+
81+
## Installation for Devs
82+
83+
- Install Visual Studio with the `.NET desktop development` workload.
84+
- Install the `.NET 10 SDK`.
85+
- Open `DS4MapperTest.sln`.
86+
- Use the `x64` platform.
87+
- Set `DS4MapperTest` as the startup project if you want to run the app directly.
88+
- Restore NuGet packages before building.
89+
- If you want to work on FakerInput-backed features, make sure the `FakerInputWrapper` dependency is available to the project.
90+
91+
### Running the Tests
92+
93+
The unit tests build only under the `Debug Tests` and `Release Tests` configurations:
94+
95+
```
96+
dotnet test DS4MapperTest.sln -c "Release Tests"
97+
```
98+
99+
A bare `dotnet test` resolves the `Debug` configuration, where the test project is
100+
deliberately left out of the build, and reports a missing test assembly rather than
101+
running anything. Those two configurations define `MAKE_TESTS`, which stubs out the
102+
real keyboard and mouse injection, so a test run cannot type into the desktop of
103+
whoever is running it. That is why the tests are not simply built everywhere.
28104

29-
![example_mapper_profile_overview_20220614](https://raw.githubusercontent.com/Ryochan7/SteamControllerTest/master/example_mapper_profile_overview_20220614.png)
105+
## Acknowledgements
30106

31-
## License
107+
- GamepadMotionHelpers: Source of some ported gyro-related logic. MIT licensed.
108+
<https://github.com/JibbSmart/GamepadMotionHelpers/blob/master/LICENSE>
109+
- JoyShockMapper: behavioural reference and source of some ported gyro-related logic. MIT licensed.
110+
<https://github.com/JibbSmart/JoyShockMapper/blob/master/LICENSE.md>
111+
- JSM Custom Curve: UI inspiration.
112+
<https://github.com/evan1mclean/JSM_custom_curve>
32113

33-
[GPL v.3](https://www.gnu.org/licenses/gpl-3.0-standalone.html)
114+
## Licence
34115

116+
- GPL v3: [LICENSE.txt](LICENSE.txt)
151 KB
Loading
104 KB
Loading

readMeImages/hero-shot.jpg

140 KB
Loading
129 KB
Loading

0 commit comments

Comments
 (0)