Compare commits

..

6 Commits
v1.9 ... v2.1

Author SHA1 Message Date
dualshock-tools
3c583151a3 Add stick center info to calibration finetune 2025-01-25 14:07:04 +01:00
dualshock-tools
e514242393 Update hu_hu language 2025-01-21 11:11:22 +01:00
dualshock-tools
8e73f36473 Change Cancel button appearance 2025-01-18 18:49:45 +01:00
Hs_Yeah
526fabf442 Fix the swapped display positions of "Err L" and "Err R" when "Check circularity" is checked 2025-01-18 18:39:48 +01:00
ganguo0392
2d80df041b update zh_cn.json (#55)
* Update zh_cn.json

* Update zh_cn.json

* Update zh_cn.json

* Update zh_cn.json
2025-01-18 18:37:01 +01:00
dualshock-tools
89931c2817 Add calibration finetuning 2025-01-18 16:46:15 +01:00
20 changed files with 675 additions and 56 deletions

193
core.js
View File

@@ -16,6 +16,13 @@ var lang_cur_direction = "ltr";
var gj = 0;
var gu = 0;
// DS5 finetuning
var finetune_original_data = []
var last_written_finetune_data = []
var finetune_visible = false
var on_finetune_updating = false
// Alphabetical order
var available_langs = {
"ar_ar": { "name": "العربية", "file": "ar_ar.json", "direction": "rtl"},
@@ -896,6 +903,172 @@ function alloc_req(id, data=[]) {
return out;
}
async function on_finetune_change(x) {
list = ["LL", "LT", "RL", "RT", "LR", "LB", "RR", "RB", "LX", "LY", "RX", "RY"]
out=[]
for(i=0;i<12;i++) {
v = $("#finetune" + list[i]).val()
out.push(parseInt(v))
}
await write_finetune_data(out)
}
async function ds5_finetune() {
// Lock NVS before
nvs = await ds5_nvstatus();
if(nvs == 0) {
await ds5_nvlock();
nvs = await ds5_nvstatus();
if(nvs != 1) {
show_popup("ERROR: Cannot lock NVS (" + nvs + ")");
return;
}
} else if(nvs != 1) {
show_popup("ERROR: Cannot read NVS status. Finetuning is not safe on this device.");
}
data = await read_finetune_data();
if (data == null)
return;
curModal = new bootstrap.Modal(document.getElementById('finetuneModal'), {})
curModal.show();
list = ["LL", "LT", "RL", "RT", "LR", "LB", "RR", "RB", "LX", "LY", "RX", "RY"]
for(i=0;i<12;i++) {
$("#finetune" + list[i]).attr("value", data[i])
$("#finetune" + list[i]).on('change', on_finetune_change)
}
finetune_original_data = data
finetune_visible = true
refresh_finetune()
}
async function read_finetune_data() {
await device.sendFeatureReport(0x80, alloc_req(0x80, [12,2]))
var data = await device.receiveFeatureReport(0x81)
var cmd = data.getUint8(0, true);
var p1 = data.getUint8(1, true);
var p2 = data.getUint8(2, true);
var p3 = data.getUint8(3, true);
if(cmd != 129 || p1 != 12 || p2 != 2 || p3 != 2)
{
finetune_close();
show_popup("ERROR: Cannot read calibration data");
return null;
}
var out = []
for(i=0;i<12;i++)
out.push(data.getUint16(4+i*2, true))
last_written_finetune_data = out
return out;
}
async function write_finetune_data(data) {
if (data.length != 12) {
return;
}
if (data == last_written_finetune_data) {
return;
}
last_written_finetune_data = data
pkg = [12,1]
for(i=0;i<data.length;i++) {
x = data[i]
pkg.push(x & 0xff)
pkg.push(x >> 8)
}
await device.sendFeatureReport(0x80, alloc_req(0x80, pkg))
}
function refresh_finetune() {
if (!finetune_visible)
return;
if (on_finetune_updating)
return;
on_finetune_updating = true
setTimeout(ds5_finetune_update_all, 10);
}
function ds5_finetune_update_all() {
ds5_finetune_update("finetuneStickCanvasL", last_lx, last_ly)
ds5_finetune_update("finetuneStickCanvasR", last_rx, last_ry)
}
function ds5_finetune_update(name, plx, ply) {
on_finetune_updating = false
var c = document.getElementById(name);
var ctx = c.getContext("2d");
var sz = 60;
var hb = 20 + sz;
var yb = 15 + sz;
var w = c.width;
ctx.clearRect(0, 0, c.width, c.height);
ctx.lineWidth = 1;
ctx.fillStyle = '#ffffff';
ctx.strokeStyle = '#000000';
// Left circle
ctx.beginPath();
ctx.arc(hb, yb, sz, 0, 2 * Math.PI);
ctx.closePath();
ctx.fill();
ctx.stroke();
ctx.strokeStyle = '#aaaaaa';
ctx.beginPath();
ctx.moveTo(hb-sz, yb);
ctx.lineTo(hb+sz, yb);
ctx.closePath();
ctx.stroke();
ctx.beginPath();
ctx.moveTo(hb, yb-sz);
ctx.lineTo(hb, yb+sz);
ctx.closePath();
ctx.stroke();
ctx.fillStyle = '#000000';
ctx.strokeStyle = '#000000';
ctx.beginPath();
ctx.arc(hb+plx*sz,yb+ply*sz,4, 0, 2*Math.PI);
ctx.fill();
ctx.beginPath();
ctx.moveTo(hb, yb);
ctx.lineTo(hb+plx*sz, yb+ply*sz);
ctx.stroke();
$("#"+ name + "x-lbl").text(float_to_str(plx));
$("#"+ name + "y-lbl").text(float_to_str(ply));
}
function finetune_close() {
$("#finetuneModal").modal("hide");
finetune_visible = false
finetune_original_data = []
}
function finetune_save() {
finetune_close();
// Unlock button
update_nvs_changes_status(1);
}
async function finetune_cancel() {
if(finetune_original_data.length == 12)
await write_finetune_data(finetune_original_data)
finetune_close();
}
var last_lx = 0, last_ly = 0, last_rx = 0, last_ry = 0;
var ll_updated = false;
@@ -1265,6 +1438,7 @@ function process_ds_input(data) {
last_ry = new_ry;
ll_updated = true;
refresh_sticks();
refresh_finetune();
}
var bat = data.data.getUint8(52);
@@ -1309,7 +1483,8 @@ async function continue_connection(report) {
}
if(device.productId == 0x05c4) {
$("#infoshowall").hide();
$("#infoshowall").hide()
$("#ds5finetune").hide()
if(await ds4_info()) {
connected = true;
mode = 1;
@@ -1317,7 +1492,8 @@ async function continue_connection(report) {
device.oninputreport = process_ds4_input;
}
} else if(device.productId == 0x09cc) {
$("#infoshowall").hide();
$("#infoshowall").hide()
$("#ds5finetune").hide()
if(await ds4_info()) {
connected = true;
mode = 1;
@@ -1325,7 +1501,8 @@ async function continue_connection(report) {
device.oninputreport = process_ds4_input;
}
} else if(device.productId == 0x0ce6) {
$("#infoshowall").show();
$("#infoshowall").show()
$("#ds5finetune").show()
if(await ds5_info()) {
connected = true;
mode = 2;
@@ -1333,7 +1510,8 @@ async function continue_connection(report) {
device.oninputreport = process_ds_input;
}
} else if(device.productId == 0x0df2) {
$("#infoshowall").hide();
$("#infoshowall").hide()
$("#ds5finetune").hide()
if(await ds5_info()) {
connected = true;
mode = 0;
@@ -1395,7 +1573,7 @@ function update_disable_btn() {
} else if(disable_btn & 2 && !(last_disable_btn & 2)) {
show_popup(l("This DualSense controller has outdated firmware.") + "<br>" + l("Please update the firmware and try again."), true);
} else if(disable_btn & 8 && !(last_disable_btn & 8)) {
show_popup(l("Calibration of the DualSense Edge is not currently supported."));
show_edge_modal();
} else if(disable_btn & 4 && !(last_disable_btn & 4)) {
show_popup(l("Please charge controller battery over 30% to use this tool."));
}
@@ -1617,6 +1795,11 @@ function show_donate_modal() {
new bootstrap.Modal(document.getElementById('donateModal'), {}).show()
}
function show_edge_modal() {
la("edge_modal");
new bootstrap.Modal(document.getElementById('edgeModal'), {}).show()
}
function show_info_modal() {
la("info_modal");
new bootstrap.Modal(document.getElementById('infoModal'), {}).show()

View File

@@ -137,6 +137,8 @@ dl.row dd { font-family: monospace; }
<div class="vstack gap-2 p-2">
<button type="button" class="btn btn-primary ds-btn ds-i18n" onclick="calib_open()">Calibrate stick center</button>
<button type="button" class="btn btn-primary ds-btn ds-i18n" onclick="multi_calibrate_range()">Calibrate stick range</button>
<button type="button" class="btn btn-primary ds-btn" onclick="ds5_finetune()" id="ds5finetune"><span class="ds-i18n">Finetune stick calibration</span> <i id="ds-i18n">(beta)</i></button>
<hr>
<button id="savechanges" type="button" class="btn btn-success ds-btn ds-i18n" onclick="multi_flash()" id="resetBtn">Save changes permanently</button>
<button type="button" class="btn btn-danger ds-btn ds-i18n" onclick="multi_reset()" id="resetBtn">Reboot controller</button>
@@ -176,12 +178,12 @@ dl.row dd { font-family: monospace; }
<label class="form-check-label ds-i18n" for="checkCircularity">Check circularity</label>
<div class="hstack" id="circ-data">
<div class="vstack" style="text-align: center;">
<span class="ds-i18n">Err R:</span>
<span class="ds-i18n">Err L:</span>
<pre id="el-lbl" style="min-width: 80px;"></pre>
</div>
<div class="vstack" style="text-align: center;">
<span class="ds-i18n">Err L:</span>
<span class="ds-i18n">Err R:</span>
<pre id="er-lbl" style="min-width: 80px;"></pre>
</div>
</div>
@@ -225,6 +227,160 @@ dl.row dd { font-family: monospace; }
</div>
<!-- Finetune Modal -->
<div class="modal fade" id="finetuneModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="finetuneModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg modal-fullscreen-lg-down">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5 ds-i18n" id="finetuneModalLabel">Finetune stick calibration</h1>
<button type="button" class="btn-close" aria-label="Close" onclick="finetune_cancel()"></button>
</div>
<div class="modal-body">
<p class="ds-i18n">This screen allows to finetune raw calibration data on your controller</p>
<div style="width: 100%; display: flex; justify-content: center;">
<div class="container-fluid">
<div class="row">
<div class="col col-lg-6 col-12">
<div class="card text-bg-light" >
<div class="card-header"><span class="ds-i18n">Left stick</span></div>
<div class="card-body">
<div class="container-fluid">
<div class="row">
<table>
<tr><td></td><td style="text-align: center;">
<input id="finetuneLT" type="number" class="form-control" min="0" max="65535" value="0">
</td><td></td></tr>
<tr>
<td height="160px" style="vertical-align: middle; align: right;">
<input id="finetuneLL" type="number" class="form-control" min="0" max="65535" value="0">
</td>
<td><canvas id="finetuneStickCanvasL" width="150" height="150"></canvas></td>
<td height="160px" style="vertical-align: middle; align: left;">
<input id="finetuneLR" type="number" class="form-control" min="0" max="65535" value="0">
</td>
</tr>
<tr><td></td><td style="text-align: center;">
<input id="finetuneLB" type="number" class="form-control" min="0" max="65535" value="0">
</td><td></td></tr>
</table>
</div>
<div class="row">
<div class="col"></div>
<div class="col col-auto">
<label for="finetuneLX" class="col-form-label ds-i18n">Center X</label>
</div>
<div class="col col-auto">
<input id="finetuneLX" type="number" class="form-control" min="0" max="65535" value="0">
</div>
<div class="col"></div>
</div>
<div class="row">
<div class="col"></div>
<div class="col-auto">
<label for="finetuneLY" class="col-form-label ds-i18n">Center Y</label>
</div>
<div class="col-auto">
<input id="finetuneLY" type="number" class="form-control" min="0" max="65535" value="0">
</div>
<div class="col"></div>
</div>
</div>
<div class="px-2">
<div class="hstack">
<div class="vstack" style="text-align: center;">
<span>LX:</span>
<pre id="finetuneStickCanvasLx-lbl" style="min-width: 80px;"></pre>
</div>
<div class="vstack" style="text-align: center;">
<span>LY:</span>
<pre id="finetuneStickCanvasLy-lbl" style="min-width: 80px;"></pre>
</div>
</div>
</div>
</div>
</div>
</div> <!-- col -->
<div class="col col-lg-6 col-12">
<div class="card text-bg-light" >
<div class="card-header"><span class="ds-i18n">Right stick</span></div>
<div class="card-body">
<div class="container-fluid">
<div class="row">
<table>
<tr><td></td><td style="text-align: center;">
<input id="finetuneRT" type="number" class="form-control" min="0" max="65535" value="0">
</td><td></td></tr>
<tr>
<td height="160px" style="vertical-align: middle; align: right;">
<input id="finetuneRL" type="number" class="form-control" min="0" max="65535" value="0">
</td>
<td><canvas id="finetuneStickCanvasR" width="150" height="150"></canvas></td>
<td height="160px" style="vertical-align: middle; align: left;">
<input id="finetuneRR" type="number" class="form-control" min="0" max="65535" value="0">
</td>
</tr>
<tr><td></td><td style="text-align: center;">
<input id="finetuneRB" type="number" class="form-control" min="0" max="65535" value="0">
</td><td></td></tr>
</table>
</div>
<div class="row">
<div class="col"></div>
<div class="col col-auto">
<label for="finetuneRX" class="col-form-label ds-i18n">Center X</label>
</div>
<div class="col col-auto">
<input id="finetuneRX" type="number" class="form-control" min="0" max="65535" value="0">
</div>
<div class="col"></div>
</div>
<div class="row">
<div class="col"></div>
<div class="col-auto">
<label for="finetuneRY" class="col-form-label ds-i18n">Center Y</label>
</div>
<div class="col-auto">
<input id="finetuneRY" type="number" class="form-control" min="0" max="65535" value="0">
</div>
<div class="col"></div>
</div>
</div>
<div class="px-2">
<div class="hstack">
<div class="vstack" style="text-align: center;">
<span>RX:</span>
<pre id="finetuneStickCanvasRx-lbl" style="min-width: 80px;"></pre>
</div>
<div class="vstack" style="text-align: center;">
<span>RY:</span>
<pre id="finetuneStickCanvasRy-lbl" style="min-width: 80px;"></pre>
</div>
</div>
</div>
</div>
</div>
</div> <!-- col -->
</div> <!-- row -->
</div>
</div>
</div>
<div class="modal-footer">
<button direction="button" class="btn btn-outline-secondary ds-i18n" onclick="finetune_cancel()">Cancel</button>
<button type="button" class="btn btn-primary ds-i18n" onclick="finetune_save()">Save</button>
</div>
</div>
</div>
</div>
<!-- Welcome Modal -->
<div class="modal fade" id="welcomeModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="welcomeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
@@ -388,6 +544,30 @@ dl.row dd { font-family: monospace; }
</div>
</div>
<div class="modal fade" id="edgeModal" tabindex="-1" aria-labelledby="modal-title" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title ds-i18n">Dualsense Edge Compatibility</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body p-4" id="donateBody">
<p class="ds-i18n">The DualShock Calibration GUI does not currently support the DualSense Edge.</p>
<p class="ds-i18n">I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.</p>
<p><span class="ds-i18n">If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a</span>
<a href="https://paypal.me/alaincarlucci" target="_blank" class="text-body-secondary ds-i18n">donation</a>.</p>
<p class="ds-i18n">Thank you for your generosity and support!</p>
</div>
<div class="modal-footer">
<button onclick="window.open('https://paypal.me/alaincarlucci')" type="button" class="btn btn-success" data-bs-dismiss="modal">
<svg class="bi" width="18" height="18"><use xlink:href="#paypal"/></svg>&nbsp;&nbsp;<span class="ds-i18n">Support this project</span>
</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="donateModal" tabindex="-1" aria-labelledby="modal-title" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
@@ -607,7 +787,7 @@ dl.row dd { font-family: monospace; }
<div class="container">
<footer>
<div class="d-flex flex-column flex-sm-row justify-content-between py-4 my-4 border-top" id="footbody">
<p><a target="_blank" href="https://github.com/dualshock-tools/dualshock-tools.github.io/commits/main/"><span class="ds-i18n">Version</span> 1.9</a> (2025-01-05) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a>&nbsp;<span id="authorMsg"></span></p>
<p><a target="_blank" href="https://github.com/dualshock-tools/dualshock-tools.github.io/commits/main/"><span class="ds-i18n">Version</span> 2.1</a> (2025-01-25) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a>&nbsp;<span id="authorMsg"></span></p>
<ul class="list-unstyled d-flex">
<li class="ms-3"><a class="link-body-emphasis" href="mailto:ds4@the.al" target="_blank"><svg class="bi" width="24" height="24"><use xlink:href="#mail"/></svg></a></li>

View File

@@ -188,5 +188,20 @@
"Touchpad ID": "Touchpad ID",
"Bluetooth Address": "عنوان البلوتوث",
"Show all": "عرض الكل",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -198,5 +198,19 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -200,5 +200,19 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -199,5 +199,20 @@
"Bluetooth Address": "",
"Show all": "Alles anzeigen",
"Finetune stick calibration": "Feinabstimmung der Stick-Kalibrierung",
"(beta)": "(beta)",
"This screen allows to finetune raw calibration data on your controller": "Dieser Bildschirm ermöglicht die Feinabstimmung der Rohkalibrierungsdaten Ihres Controllers.",
"Left stick": "Linker Stick",
"Right stick": "Rechter Stick",
"Center X": "Zentrum X",
"Center Y": "Zentrum Y",
"Save": "Speichern",
"Cancel": "Abbrechen",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "Das DualShock-Kalibrierungstool unterstützt derzeit nicht den DualSense Edge.",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "Ich arbeite aktiv daran, die Kompatibilität hinzuzufügen. Die größte Herausforderung besteht darin, Daten in die Stick-Module zu speichern.",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "Wenn Ihnen dieses Tool geholfen hat oder Sie möchten, dass die DualSense-Edge-Unterstützung schneller verfügbar ist, ziehen Sie bitte in Betracht, das Projekt mit einem Beitrag zu unterstützen",
"Thank you for your generosity and support!": "Vielen Dank für Ihre Großzügigkeit und Unterstützung!",
"": ""
}

View File

@@ -198,5 +198,19 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -196,5 +196,19 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -7,7 +7,7 @@
"Connected to:": "Csatlakoztatva:",
"Disconnect": "Lecsatlakozás",
"Calibrate stick center": "Hüvelykujjkar középállásának újrakalibrálása",
"Calibrate stick range": "Hüvelykujjkar tartományának újrakalibrálása",
"Calibrate stick range": "Hüvelykujjkar tartományának újrakalibrálása",
"Sections below are not useful, just some debug infos or manual commands": "Az alábbi funkciók nem kalibrálásra használatosak, csak néhány hibakeresési információt vagy kézi parancsot alkalmaznak",
"NVS Status": "NVS státusz",
"Unknown": "Ismeretlen",
@@ -141,7 +141,7 @@
"This feature is experimental.": "Ez egy kisérleti funkció",
"Please let me know if the board model of your controller is not detected correctly.": "Kérlek értesítsd a fejlesztőt, ha az alaplap verziója nem egyezik meg a felimert verzióval!",
"Board model detection thanks to": "Az alaplapfelismerési funkciőért köszönet illeti:",
"Please connect the device using a USB cable.": "Kérlek csatlakoztasd az eszközt USB kábel használatával.",
"Please connect the device using a USB cable.": "Kérlek csatlakoztasd az eszközt USB kábel használatával.",
"This DualSense controller has outdated firmware.": "Ennek a DualSense vezérlőnek elavult a firmware-e.",
"Please update the firmware and try again.": "Kérlek frissítsd a firmware-t, és próbáld újra.",
"Joystick Info": "Analógkar Információ",
@@ -149,54 +149,68 @@
"Err L:": "Hibaarány B:",
"Check circularity": "Körkörösség ellenőrzése",
"Can I reset a permanent calibration to previous calibration?": "",
"No.": "",
"Can you overwrite a permanent calibration?": "",
"Yes. Simply do another permanent calibration.": "",
"Does this software resolve stickdrift?": "",
"Stickdrift is caused by a physical defect; namely dirt, worn potentiometer or in some cases a worn spring.": "",
"This software will not fix stick drift on its own if you already experience that. What it will help with, is ensuring the new joystick(s) will function properly after replacing the old one(s) to work well with.": "",
"I have noticed some controllers out of the box have worse factory calibration than if I would recalibrate them. Especially true for circularity of SCUF controllers with a unique shell.": "",
"(Dualsense) Will updating the firmware reset calibration?": "",
"After range calibration, joysticks always go in corners.": "",
"This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "",
"Please read the instructions.": "",
"You have to rotate the joysticks before you press \"Done\".": "",
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "",
"Only after you have done that, you click on \"Done\".": "",
"Can I reset a permanent calibration to previous calibration?": "Visszaállíthatok egy végleges kalibrációt az előző kalibrációra?",
"No.": "Nem",
"Can you overwrite a permanent calibration?": "Felülírható egy végleges kalibráció?",
"Yes. Simply do another permanent calibration.": "Igen. Egyszerűen végezz el egy újabb végleges kalibrációt.",
"Does this software resolve stickdrift?": "Megoldja ez a szoftver a stick drift problémát?",
"Stickdrift is caused by a physical defect; namely dirt, worn potentiometer or in some cases a worn spring.": "A stick driftet fizikai hiba okozza; például szennyeződés, elhasználódott (kopott) potenciométer vagy bizonyos esetekben egy elhasználódott rugó.",
"This software will not fix stick drift on its own if you already experience that. What it will help with, is ensuring the new joystick(s) will function properly after replacing the old one(s) to work well with.": "Ez a szoftver önmagában nem fogja megoldani a stick drift problémát, ha már tapasztalható. Amiben segít, az az, hogy biztosítsa az új hüvelykujjkarok megfelelő működését az elhasználódott hüvelykujjkarok cseréje után.",
"I have noticed some controllers out of the box have worse factory calibration than if I would recalibrate them. Especially true for circularity of SCUF controllers with a unique shell.": "Észrevettem, hogy néhány kontroller gyárilag rosszabb kalibrációval érkezik, mint amit újrakalibrálva elérhetnék. Ez különösen igaz a SCUF kontrollerekre, amelyek egyedi burkolattal rendelkeznek.",
"(Dualsense) Will updating the firmware reset calibration?": "(DualSense) A firmware frissítése visszaállítja a kalibrációt?",
"After range calibration, joysticks always go in corners.": "Kalibráció után a hüvelykujjkarok mindig a sarkokba mennek.",
"This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "Ez a probléma azért fordul elő, mert a tartománykalibrálás indítása után azonnal rákattintottál a \"Kész\" gombra.",
"Please read the instructions.": "Kérlek, olvasd el az utasításokat!",
"You have to rotate the joysticks before you press \"Done\".": "Forgasd el a hüvelykujjkarokat, mielőtt megnyomnád a \"Kész\" gombot.",
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "Ügyelj arra, hogy a hüvelykujjakrok érjenek el a keret széléig és annak mentén forgasd lassan, lehetőleg mindkét irányban - óramutató járásával megegyezően és ellentétesen is.",
"Only after you have done that, you click on \"Done\".": "Csak miután ezt megtetted, azután kattints a \"Kész\" gombra.",
"Changes saved successfully": "",
"Error while saving changes:": "",
"Save changes permanently": "",
"Reboot controller": "",
"Changes saved successfully": "A változások sikeresen mentésre kerültek",
"Error while saving changes:": "A változások mentése közben hiba lépett fel",
"Save changes permanently": "A változtatások végleges mentése a kontrollerbe",
"Reboot controller": "Kontroller újraindítása",
"Controller Info": "",
"Debug Info": "",
"Debug buttons": "",
"Software": "",
"Hardware": "",
"Controller Info": "Információk a kontrollerről",
"Debug Info": "Hibakeresési infomrációk",
"Debug buttons": "Hibakeresési gombok",
"Software": "Szoftver",
"Hardware": "Hardver",
"FW Build Date": "",
"FW Type": "",
"FW Series": "",
"FW Version": "",
"FW Update": "",
"FW Update Info": "",
"SBL FW Version": "",
"Venom FW Version": "",
"Spider FW Version": "",
"Touchpad FW Version": "",
"FW Build Date": "FW kiadásának dátuma",
"FW Type": "FW típusa",
"FW Series": "FW széria",
"FW Version": "FW verzió",
"FW Update": "FW frissítés",
"FW Update Info": "FW frissítési információ",
"SBL FW Version": "SBL FW verzió",
"Venom FW Version": "Venom FW verzió",
"Spider FW Version": "Spider FW verzió",
"Touchpad FW Version": "Tapipad FW verzió",
"Serial Number": "",
"MCU Unique ID": "",
"PCBA ID": "",
"Battery Barcode": "",
"VCM Left Barcode": "",
"VCM Right Barcode": "",
"HW Model": "",
"Touchpad ID": "",
"Bluetooth Address": "",
"Show all": "",
"Serial Number": "Szériaszám",
"MCU Unique ID": "MCU egyedi azonosító",
"PCBA ID": "PCBA azonosító",
"Battery Barcode": "Akkumulátor vonalkód",
"VCM Left Barcode": "Bal VCM vonalkód",
"VCM Right Barcode": "Jobb VCM vonalód",
"HW Model": "HW modell",
"Touchpad ID": "Tapipad azonosító",
"Bluetooth Address": "Bluetooth címzés",
"Show all": "Mindet megjelenít",
"Finetune stick calibration": "Karok finomkalibrálása",
"(beta)": "(béta)",
"This screen allows to finetune raw calibration data on your controller": "Ez a felület lehetővé teszi a kontroller nyers kalibrációs adatainak finomhangolását.",
"Left stick": "Bal kar",
"Right stick": "Jobb kar",
"Center X": "X középállás",
"Center Y": "Y középállás",
"Save": "Mentés",
"Cancel": "Mégse",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "A DualShock kontroller kalibráló felület jelenleg nem támogatja a DualSense Edge-et.",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "Aktívan dolgozom a kompatibilitás hozzáadásán, a legnagyobb kihívást az adatok hüvelykujjkar modulokba történő tárolása jelenti.",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "Ha ez az eszköz hasznos volt számodra, vagy szeretnéd, hogy a DualSense Edge támogatása gyorsabban megérkezzen, kérlek, fontold meg a projekt támogatását",
"Thank you for your generosity and support!": "Köszönöm nagylelkűségedet és támogatásodat!",
"": ""
}

View File

@@ -198,5 +198,20 @@
"Bluetooth Address": "Indirizzo Bluetooth",
"Show all": "Mostra tutto",
"Finetune stick calibration": "Affina calibrazione joystick",
"(beta)": "(beta)",
"This screen allows to finetune raw calibration data on your controller": "Questa schermata perfette di affinare i dati grezzi di calibrazione del controller.",
"Left stick": "Levetta sinistra",
"Right stick": "Levetta destra",
"Center X": "Centro X",
"Center Y": "Centro Y",
"Save": "Salva",
"Cancel": "Annulla",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "DualShock Calibration GUI non supporta ancora il DualSense Edge.",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "Sto lavorando attivamente per renderlo compatibile, ma la sfida principale rimane salvare i dati nei moduli degli stick.",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "Se questo strumento ti è stato utile o desideri che il supporto per il DualSense Edge arrivi più rapidamente, considera di supportare il progetto con una",
"Thank you for your generosity and support!": "Grazie per la tua generosità e per il supporto!",
"": ""
}

View File

@@ -199,5 +199,20 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "スティックの微調整キャリブレーション",
"(beta)": "(ベータ版)",
"This screen allows to finetune raw calibration data on your controller": "この画面ではコントローラーの生データを微調整できます。",
"Left stick": "左スティック",
"Right stick": "右スティック",
"Center X": "中心 X",
"Center Y": "中心 Y",
"Save": "保存",
"Cancel": "キャンセル",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "DualShockキャリブレーションGUIは現在、DualSense Edgeをサポートしていません。",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "互換性を追加するために取り組んでいますが、主な課題はスティックモジュールへのデータ保存です。",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "このツールが役に立った場合、またはDualSense Edgeのサポートを早く実現したい場合は、プロジェクトへの支援をご検討ください。",
"Thank you for your generosity and support!": "ご支援とご厚意に感謝します!",
"": ""
}

View File

@@ -199,5 +199,19 @@
"Bluetooth Address": "Bluetooth Address",
"Show all": "모두 보기",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -198,5 +198,19 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -201,5 +201,19 @@
"Bluetooth Address": "Adres Bluetooth",
"Show all": "Pokaż wszystko",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -199,5 +199,19 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -199,5 +199,19 @@
"Bluetooth Address": "",
"Show all": "",
"": ""
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -199,5 +199,19 @@
"Bluetooth Address": "",
"Show all": "",
"": ""
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -199,5 +199,19 @@
"Bluetooth Address": "Bluetooth адреса",
"Show all": "Показати все",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}

View File

@@ -200,5 +200,19 @@
"Bluetooth Address": "蓝牙地址",
"Show all": "显示全部信息",
"Finetune stick calibration": "微调摇杆校准",
"(beta)": "测试版本",
"This screen allows to finetune raw calibration data on your controller": "此界面允许微调控制器上的原始校准数据",
"Left stick": "左摇杆",
"Right stick": "右摇杆",
"Center X": "X轴中心",
"Center Y": "Y轴中心",
"Save": "保存",
"Cancel": "取消",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "DualShock校准GUI目前不支持DualSense Edge。",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "我正在积极致力于兼容,难点在于将数据存储到摇杆模块中。",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "如果这个工具对你有所帮助或者你希望看到对于DualSense Edge的支持更快到来请考虑支持这个项目。",
"Thank you for your generosity and support!": "感谢您的慷慨和支持!",
"": ""
}

View File

@@ -196,5 +196,19 @@
"Bluetooth Address": "",
"Show all": "",
"Finetune stick calibration": "",
"(beta)": "",
"This screen allows to finetune raw calibration data on your controller": "",
"Left stick": "",
"Right stick": "",
"Center X": "",
"Center Y": "",
"Save": "",
"Cancel": "",
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
"If this tool has been helpful to you or you want to see DualSense Edge support arrive faster, please consider supporting the project with a": "",
"Thank you for your generosity and support!": "",
"": ""
}