Files
dualshock-tools.github.io/templates/faq-modal.html
dualshock-tools 80ba000b74 Fix FAQ video link
2026-07-11 19:26:07 +02:00

235 lines
19 KiB
HTML

<!-- FAQ -->
<div class="modal fade" id="faqModal" tabindex="-1" role="dialog" aria-labelledby="faqModalTitle" aria-hidden="true">
<div class="modal-dialog modal-lg modal-fullscreen-md-down" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title ds-i18n" id="faqModalTitle">Frequently Asked Questions</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="p-3 ds-i18n">Welcome to the F.A.Q. section! Below, you'll find answers to some of the most commonly asked questions about this website. If you have any other inquiries or need further assistance, feel free to reach out to me directly. Your feedback and questions are always welcome!</div>
<div class="accordion accordion-flush" id="accordionFlushExample">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse13" aria-expanded="false" aria-controls="flush-collapse6">Which controllers does DualShock Calibration GUI support?</button>
</h2>
<div id="flush-collapse13" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">Only official controllers are supported, no third-party or "fake" controllers.</p>
<p class="ds-i18n">The website supports the following official controllers:</p>
<ul>
<li class="ds-i18n">Sony DualShock 4</li>
<li class="ds-i18n">Sony DualSense</li>
<li><span class="ds-i18n">Sony DualSense Edge</span>*</li>
<li class="ds-i18n">PlayStation Virtual Reality 2</li>
</ul>
<p class="ds-i18n">The finetuning and quick test menus are only accessible for DualSense and DualSense Edge.</p>
<p>*<span class="ds-i18n">Saving calibration is locked by default on DualSense Edge joystick modules. A hardware mod is required to save the calibration permanently. The calibration is saved on the modules themselves, so you have to perform the mod twice: once for each module. You would need to bridge two points on the PCB with enamelled wire. There are multiple methods, I personally recommend using either of these two locations to solder the wire to. See images below. Ensure the wire is thin enough so that the shell is closed properly. Make sure you don't short the wire to ground through the letters near the bottom joint.</span></p>
<p><span class="ds-i18n">Images</span>: <a target="_blank" href="./images/FAQ_option_1.jpg" class="ds-i18n">Option 1</a>, <a target="_blank" href="./images/FAQ_option_2.jpg" class="ds-i18n">Option 2</a>, <a target="_blank" href="./images/FAQ_Housing_Closing.jpg" class="ds-i18n">Housing</a>.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse3" aria-expanded="false" aria-controls="flush-collapse3">How does it work?</button>
</h2>
<div id="flush-collapse3" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">Behind the scenes, this website is the culmination of one year of dedicated effort in reverse-engineering DualShock controllers for fun/hobby from a random guy on the internet.</p>
<p><span class="ds-i18n">Through</span> <a class="ds-i18n" href='https://blog.the.al' target='_blank'>this research</a><span class="ds-i18n">, it was discovered that there exist some undocumented commands on DualShock controllers that can be sent via USB and are used during factory assembly process. If these commands are sent, the controller starts the recalibration of analog sticks.</span></p>
<p class="ds-i18n">While the primary focus of this research wasn't initially centered on recalibration, it became apparent that a service offering this capability could greatly benefit numerous individuals. And thus, here we are.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapseTwo" aria-expanded="false" aria-controls="flush-collapseTwo">Is this an officially endorsed service?</button>
</h2>
<div id="flush-collapseTwo" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="ds-i18n accordion-body">No, this service is simply a creation by a DualShock enthusiast.</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse4" aria-expanded="false" aria-controls="flush-collapse4">Does this website detect if a controller is a clone?</button>
</h2>
<div id="flush-collapse4" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">Yes, only DualShock4 at the moment. This happened because I accidentally purchased some clones, spent time identifying the differences and added this functionality to prevent future deception.</p>
<p class="ds-i18n">Unfortunately, the clones cannot be calibrated anyway, because they only clone the behavior of a DualShock4 during normal gameplay, not all the undocumented functionalities.</p>
<p class="ds-i18n">If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse8" aria-expanded="false" aria-controls="flush-collapse8">Can I overwrite a (permanent) calibration?</button>
</h2>
<div id="flush-collapse8" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">Yes. Simply do another calibration, and click the green button to save permanently.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse15" aria-expanded="false" aria-controls="flush-collapse6">Can I restore a previous calibration?</button>
</h2>
<div id="flush-collapse15" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">If you have not clicked the green button "Save changes permanently", then unplugging the controller will reset to the previously saved calibration. It is recommended you test your calibration before saving.</p>
<p class="ds-i18n">If you have saved the changes permanently, you can reset the changes only if you are using a DualSense or DualSense Edge. You can click on the grey button "Restore Calibration" to go back to one of the previous calibrations that was saved on the controller. Known issue: You may need to reboot your controller first in order for previous calibrations to show up.</p>
<p class="ds-i18n">These previous calibrations are stored locally in your browser's storage. Meaning you can only restore calibrations using the same computer and browser that you used to calibrate it with, and deleting the cache or using Incognito will make any previous calibration irrecoverable.</p>
<p><span class="ds-i18n">Images</span>: <a target="_blank" href="./images/FAQ_save_changes.png">Image 1</a>, <a target="_blank" href="./images/FAQ_history.png">Image 2</a></p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse9" aria-expanded="false" aria-controls="flush-collapse9">Does this software resolve stickdrift?</button>
</h2>
<div id="flush-collapse9" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">Stickdrift is caused by a physical defect; namely dirt, worn potentiometer or in some cases a worn spring.</p>
<p class="ds-i18n">This software is not intended to fix stickdrift and will <b>not</b> fix stickdrift on its own if you already experience that.</p>
<p><b><span class="ds-i18n">In most cases, calibrating your joysticks that have prior drift issues may result in a worse and unpredictable calibration.</span></b></p>
<p class="ds-i18n">What the software will help with, is ensuring new joysticks will function properly after replacing the old broken joysticks that drift. This step involves opening up the controller and soldering new potentiometers or an entire new joystick.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse10" aria-expanded="false" aria-controls="flush-collapse10">(DualSense &amp; DualSense Edge) Will updating the firmware reset calibration?</button>
</h2>
<div id="flush-collapse10" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">No.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse11" aria-expanded="false" aria-controls="flush-collapse11">After range calibration, joysticks always go in corners.</button>
</h2>
<div id="flush-collapse11" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">This issue happens because you have clicked "Done" immediately after starting a range calibration.</p>
<p><b><span class="ds-i18n">Please read the instructions.</span></b></p>
<p class="ds-i18n">You have to rotate the joysticks before you press "Done".</p>
<p class="ds-i18n">Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.</p>
<p class="ds-i18n">Only after you have done that, you click on "Done".</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse17" aria-expanded="false" aria-controls="flush-collapse6">(DualSense Edge) Is the calibration stored on the controller or the modules?</button>
</h2>
<div id="flush-collapse17" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">The calibration is stored on each module individually. It is carried over if you place the modules in a different DualSense Edge. Likewise, if you place a different set of modules in your DualSense Edge, you will get a different calibration that is tied to those new modules.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse19" aria-expanded="false" aria-controls="flush-collapse6">How do I use the finetuning feature?</button>
</h2>
<div id="flush-collapse19" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">Finetuning is only available for DualSense and DualSense Edge.</p>
<p><a href="https://www.youtube.com/watch?v=3SKohYoX47E&t=123s" class="ds-i18n">This video from V2.16 shows how to use the finetuning menu.</a></p>
<p class="ds-i18n">Not shown in the video: You can now also increase the range in each direction uniformly by using the cross in the top right and moving the slider up, which may speed up finetuning. Make sure to rotate the joystick first, otherwise the button cannot be pressed.</p>
<p><span class="ds-i18n">Images</span>: <a target="_blank" href="./images/FAQ_finetuning.png" class="ds-i18n">Image 1</a></p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse20" aria-expanded="false" aria-controls="flush-collapse6">What are the risks of using the calibration?</button>
</h2>
<div id="flush-collapse20" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">When calibrating, there is no risk. However, if your controller disconnects during the split second that you save a calibration, then you have a chance of bricking your controller. Make sure your battery has enough charge and is plugged into the controller, and the USB cable is securely connected. This prevents your controller from being bricked if the USB cable accidentally disconnects.</p>
<p class="ds-i18n">If you don't have a battery connected or the connected battery is empty, AND your cable disconnects during saving the calibration, then your controller has a high chance of being bricked.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse21" aria-expanded="false" aria-controls="flush-collapse6">What circularity percentage to aim for when calibrating and finetuning.</button>
</h2>
<div id="flush-collapse21" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">We recommend a circularity between 7% and 9%. The reason for this is to mimic a stock controllers calibration. However, symmetrical overshoot is more important and if you need to deviate from this range to achieve better symmetry, that is fine too.</p>
<p class="ds-i18n">A sample test was done with 30 dualsense edge modules, and the results showed that the inner quartile range (IQR) is 8.3% and 9.0%, with an average of 8.6%. This goes to show that stock controllers by default have a relatively high range, and the rule of thumb is to follow factory calibration.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse5" aria-expanded="false" aria-controls="flush-collapse5">What development is in plan?</button>
</h2>
<div id="flush-collapse5" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">I maintain two separate to-do lists for this project, although the priority has yet to be established.</p>
<p class="ds-i18n">The first list is about enhancing support for DualShock4 and DualSense controllers:</p>
<ul>
<li class="ds-i18n">Implement calibration of L2/R2 triggers.</li>
<li class="ds-i18n">Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.</li>
<li class="ds-i18n">Add support for recalibrating IMUs.</li>
<li class="ds-i18n">Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).</li>
</ul>
<p class="ds-i18n">The second list contains new controllers I aim to support:</p>
<ul>
<li class="ds-i18n">DualShock 3</li>
<li class="ds-i18n">XBox Controllers</li>
</ul>
<p class="ds-i18n">Each of these tasks presents both immense interest and significant time investment. To provide context, supporting a new controller typically demands 6-12 months of full-time research, alongside a stroke of good fortune.</p>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="ds-i18n accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse12" aria-expanded="false" aria-controls="flush-collapse6">I love this service, it helped me! How can I contribute?</button>
</h2>
<div id="flush-collapse12" class="accordion-collapse collapse" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
<p class="ds-i18n">I'm glad to hear that you found this helpful! If you're interested in contributing, here are a few ways you can help me:</p>
<ul>
<li><span class="ds-i18n">Consider making a</span> <a href="https://paypal.me/alaincarlucci" target="_blank" class="ds-i18n">donation</a> <span class="ds-i18n">to support my late-night caffeine-fueled reverse-engineering efforts.</span></li>
<li class="ds-i18n">Ship me a controller you would love to add (send me an email for organization).</li>
<li><a href="https://github.com/dualshock-tools/dualshock-tools.github.io/blob/main/TRANSLATIONS.md" class="ds-i18n" target="_blank">Translate this website in your language</a><span class="ds-i18n">, to help more people like you!</span></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary ds-i18n" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>