mirror of
https://github.com/dualshock-tools/dualshock-tools.github.io.git
synced 2026-07-18 05:34:06 +03:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d1b6cd5c96 | ||
|
|
390f2d97b6 | ||
|
|
4fe737aed1 | ||
|
|
53456b9663 | ||
|
|
994501a614 |
369
core.js
369
core.js
@@ -1172,8 +1172,8 @@ function gboot() {
|
||||
lang_init();
|
||||
init_svg_colors();
|
||||
welcome_modal();
|
||||
$("#checkCircularity").on('change', on_circ_check_change);
|
||||
on_circ_check_change();
|
||||
$("input[name='displayMode']").on('change', on_stick_mode_change);
|
||||
on_stick_mode_change();
|
||||
});
|
||||
|
||||
if (!("hid" in navigator)) {
|
||||
@@ -1328,43 +1328,12 @@ function ds5_finetune_update(name, plx, ply) {
|
||||
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();
|
||||
// Draw stick position with circle
|
||||
draw_stick_position(ctx, hb, yb, sz, plx, ply, { enable_zoom_center: true });
|
||||
|
||||
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));
|
||||
$("#"+ name + "x-lbl").text(float_to_str(plx, 3));
|
||||
$("#"+ name + "y-lbl").text(float_to_str(ply, 3));
|
||||
}
|
||||
|
||||
function finetune_close() {
|
||||
@@ -1396,42 +1365,31 @@ var rr_data=new Array(48);
|
||||
var enable_circ_test = false;
|
||||
|
||||
function reset_circularity() {
|
||||
for(i=0;i<ll_data.length;i++) ll_data[i] = 0;
|
||||
for(i=0;i<rr_data.length;i++) rr_data[i] = 0;
|
||||
ll_data.fill(0);
|
||||
rr_data.fill(0);
|
||||
enable_circ_test = false;
|
||||
ll_updated = false;
|
||||
$("#checkCircularity").prop('checked', false);
|
||||
$("#normalMode").prop('checked', true);
|
||||
refresh_stick_pos();
|
||||
}
|
||||
|
||||
function refresh_stick_pos() {
|
||||
var c = document.getElementById("stickCanvas");
|
||||
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);
|
||||
function draw_stick_position(ctx, center_x, center_y, sz, stick_x, stick_y, opts = {}) {
|
||||
const { circularity_data = null, enable_zoom_center = false } = opts;
|
||||
|
||||
// Draw base circle
|
||||
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();
|
||||
|
||||
// Right circle
|
||||
ctx.beginPath();
|
||||
ctx.arc(w - hb, yb, sz, 0, 2 * Math.PI);
|
||||
ctx.arc(center_x, center_y, sz, 0, 2 * Math.PI);
|
||||
ctx.closePath();
|
||||
ctx.fill();
|
||||
ctx.stroke();
|
||||
|
||||
// Helper function for circularity visualization color
|
||||
function cc_to_color(cc) {
|
||||
var dd = Math.sqrt(Math.pow((1.0 - cc), 2));
|
||||
const dd = Math.sqrt(Math.pow((1.0 - cc), 2));
|
||||
let hh;
|
||||
if(cc <= 1.0)
|
||||
hh = 220 - 220 * Math.min(1.0, Math.max(0, (dd - 0.05)) / 0.1);
|
||||
else
|
||||
@@ -1439,148 +1397,161 @@ function refresh_stick_pos() {
|
||||
return hh;
|
||||
}
|
||||
|
||||
if(enable_circ_test) {
|
||||
var MAX_N = ll_data.length;
|
||||
// Draw circularity visualization if data provided
|
||||
if (circularity_data?.length > 0) {
|
||||
const MAX_N = circularity_data.length;
|
||||
|
||||
for(i=0;i<MAX_N;i++) {
|
||||
var kd = ll_data[i];
|
||||
var kd1 = ll_data[(i+1) % ll_data.length];
|
||||
for(let i = 0; i < MAX_N; i++) {
|
||||
const kd = circularity_data[i];
|
||||
const kd1 = circularity_data[(i+1) % circularity_data.length];
|
||||
if (kd === undefined || kd1 === undefined) continue;
|
||||
var ka = i * Math.PI * 2 / MAX_N;
|
||||
var ka1 = ((i+1)%MAX_N) * 2 * Math.PI / MAX_N;
|
||||
const ka = i * Math.PI * 2 / MAX_N;
|
||||
const ka1 = ((i+1)%MAX_N) * 2 * Math.PI / MAX_N;
|
||||
|
||||
var kx = Math.cos(ka) * kd;
|
||||
var ky = Math.sin(ka) * kd;
|
||||
var kx1 = Math.cos(ka1) * kd1;
|
||||
var ky1 = Math.sin(ka1) * kd1;
|
||||
const kx = Math.cos(ka) * kd;
|
||||
const ky = Math.sin(ka) * kd;
|
||||
const kx1 = Math.cos(ka1) * kd1;
|
||||
const ky1 = Math.sin(ka1) * kd1;
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(hb, yb);
|
||||
ctx.lineTo(hb+kx*sz, yb+ky*sz);
|
||||
ctx.lineTo(hb+kx1*sz, yb+ky1*sz);
|
||||
ctx.lineTo(hb, yb);
|
||||
ctx.moveTo(center_x, center_y);
|
||||
ctx.lineTo(center_x+kx*sz, center_y+ky*sz);
|
||||
ctx.lineTo(center_x+kx1*sz, center_y+ky1*sz);
|
||||
ctx.lineTo(center_x, center_y);
|
||||
ctx.closePath();
|
||||
|
||||
var cc = (kd + kd1) / 2;
|
||||
var hh = cc_to_color(cc);
|
||||
ctx.fillStyle = 'hsla(' + parseInt(hh) + ', 100%, 50%, 0.5)';
|
||||
ctx.fill();
|
||||
}
|
||||
|
||||
for(i=0;i<MAX_N;i++) {
|
||||
var kd = rr_data[i];
|
||||
var kd1 = rr_data[(i+1) % rr_data.length];
|
||||
if (kd === undefined || kd1 === undefined) continue;
|
||||
var ka = i * Math.PI * 2 / MAX_N;
|
||||
var ka1 = ((i+1)%MAX_N) * 2 * Math.PI / MAX_N;
|
||||
|
||||
var kx = Math.cos(ka) * kd;
|
||||
var ky = Math.sin(ka) * kd;
|
||||
var kx1 = Math.cos(ka1) * kd1;
|
||||
var ky1 = Math.sin(ka1) * kd1;
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(w-hb, yb);
|
||||
ctx.lineTo(w-hb+kx*sz, yb+ky*sz);
|
||||
ctx.lineTo(w-hb+kx1*sz, yb+ky1*sz);
|
||||
ctx.lineTo(w-hb, yb);
|
||||
ctx.closePath();
|
||||
|
||||
var cc = (kd + kd1) / 2;
|
||||
var hh = cc_to_color(cc);
|
||||
const cc = (kd + kd1) / 2;
|
||||
const hh = cc_to_color(cc);
|
||||
ctx.fillStyle = 'hsla(' + parseInt(hh) + ', 100%, 50%, 0.5)';
|
||||
ctx.fill();
|
||||
}
|
||||
}
|
||||
|
||||
// Draw crosshairs
|
||||
ctx.strokeStyle = '#aaaaaa';
|
||||
ctx.lineWidth = 1;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(hb-sz, yb);
|
||||
ctx.lineTo(hb+sz, yb);
|
||||
ctx.moveTo(center_x-sz, center_y);
|
||||
ctx.lineTo(center_x+sz, center_y);
|
||||
ctx.closePath();
|
||||
ctx.stroke();
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(w-hb-sz, yb);
|
||||
ctx.lineTo(w-hb+sz, yb);
|
||||
ctx.moveTo(center_x, center_y-sz);
|
||||
ctx.lineTo(center_x, center_y+sz);
|
||||
ctx.closePath();
|
||||
ctx.stroke();
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(hb, yb-sz);
|
||||
ctx.lineTo(hb, yb+sz);
|
||||
ctx.closePath();
|
||||
ctx.stroke();
|
||||
// Apply center zoom transformation if enabled
|
||||
let display_x = stick_x;
|
||||
let display_y = stick_y;
|
||||
if (enable_zoom_center) {
|
||||
const transformed = apply_center_zoom(stick_x, stick_y);
|
||||
display_x = transformed.x;
|
||||
display_y = transformed.y;
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(w-hb, yb-sz);
|
||||
ctx.lineTo(w-hb, yb+sz);
|
||||
ctx.closePath();
|
||||
ctx.stroke();
|
||||
|
||||
var plx = last_lx;
|
||||
var ply = last_ly;
|
||||
var prx = last_rx;
|
||||
var pry = last_ry;
|
||||
|
||||
if(enable_circ_test) {
|
||||
var pld = Math.sqrt(plx*plx + ply*ply);
|
||||
var pla = (parseInt(Math.round(Math.atan2(ply, plx) * MAX_N / 2.0 / Math.PI)) + MAX_N) % MAX_N;
|
||||
var old = ll_data[pla];
|
||||
if(old === undefined) old = 0;
|
||||
ll_data[pla] = Math.max(old, pld);
|
||||
|
||||
var prd = Math.sqrt(prx*prx + pry*pry);
|
||||
var pra = (parseInt(Math.round(Math.atan2(pry, prx) * MAX_N / 2.0 / Math.PI)) + MAX_N) % MAX_N;
|
||||
var old = rr_data[pra];
|
||||
if(old === undefined) old = 0;
|
||||
rr_data[pra] = Math.max(old, prd);
|
||||
// Draw light gray circle at 50% radius to show border of zoomed center
|
||||
ctx.strokeStyle = '#d3d3d3'; // light gray
|
||||
ctx.lineWidth = 1;
|
||||
ctx.beginPath();
|
||||
ctx.arc(center_x, center_y, sz * 0.5, 0, 2 * Math.PI);
|
||||
ctx.stroke();
|
||||
}
|
||||
|
||||
ctx.fillStyle = '#000000';
|
||||
ctx.strokeStyle = '#000000';
|
||||
|
||||
// Draw stick line with variable thickness
|
||||
// Calculate distance from center
|
||||
const stick_distance = Math.sqrt(display_x*display_x + display_y*display_y);
|
||||
const boundary_radius = 0.5; // 50% radius
|
||||
|
||||
// Determine if we need to draw a two-segment line
|
||||
const use_two_segments = enable_zoom_center && stick_distance > boundary_radius;
|
||||
if (use_two_segments) {
|
||||
// Calculate boundary point
|
||||
const boundary_x = (display_x / stick_distance) * boundary_radius;
|
||||
const boundary_y = (display_y / stick_distance) * boundary_radius;
|
||||
|
||||
// First segment: thicker line from center to boundary
|
||||
ctx.lineWidth = 3;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(center_x, center_y);
|
||||
ctx.lineTo(center_x + boundary_x*sz, center_y + boundary_y*sz);
|
||||
ctx.stroke();
|
||||
|
||||
// Second segment: thinner line from boundary to stick position
|
||||
ctx.lineWidth = 1;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(center_x + boundary_x*sz, center_y + boundary_y*sz);
|
||||
ctx.lineTo(center_x + display_x*sz, center_y + display_y*sz);
|
||||
ctx.stroke();
|
||||
} else {
|
||||
// Single line from center to stick position
|
||||
ctx.lineWidth = enable_zoom_center ? 3 : 1;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(center_x, center_y);
|
||||
ctx.lineTo(center_x + display_x*sz, center_y + display_y*sz);
|
||||
ctx.stroke();
|
||||
}
|
||||
|
||||
// Draw filled circle at stick position
|
||||
ctx.beginPath();
|
||||
ctx.arc(hb+plx*sz,yb+ply*sz,4, 0, 2*Math.PI);
|
||||
ctx.arc(center_x+display_x*sz, center_y+display_y*sz, 3, 0, 2*Math.PI);
|
||||
ctx.fill();
|
||||
}
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(hb, yb);
|
||||
ctx.lineTo(hb+plx*sz, yb+ply*sz);
|
||||
ctx.stroke();
|
||||
function refresh_stick_pos() {
|
||||
const c = document.getElementById("stickCanvas");
|
||||
const ctx = c.getContext("2d");
|
||||
const sz = 60;
|
||||
const hb = 20 + sz;
|
||||
const yb = 15 + sz;
|
||||
const w = c.width;
|
||||
ctx.clearRect(0, 0, c.width, c.height);
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.arc(w-hb+prx*sz, yb+pry*sz,4, 0, 2*Math.PI);
|
||||
ctx.fill();
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(w-hb, yb);
|
||||
ctx.lineTo(w-hb+prx*sz, yb+pry*sz);
|
||||
ctx.stroke();
|
||||
|
||||
var lbl = "", lbx = "";
|
||||
$("#lx-lbl").text(float_to_str(plx));
|
||||
$("#ly-lbl").text(float_to_str(ply));
|
||||
$("#rx-lbl").text(float_to_str(prx));
|
||||
$("#ry-lbl").text(float_to_str(pry));
|
||||
let plx = last_lx;
|
||||
let ply = last_ly;
|
||||
let prx = last_rx;
|
||||
let pry = last_ry;
|
||||
|
||||
if(enable_circ_test) {
|
||||
var ofl = 0, ofr = 0, lcounter = 0, rcounter = 0;
|
||||
ofl = 0; ofr = 0;
|
||||
for (i=0;i<ll_data.length;i++)
|
||||
if(ll_data[i] > 0.2) {
|
||||
lcounter += 1;
|
||||
ofl += Math.pow(ll_data[i] - 1, 2);
|
||||
}
|
||||
for (i=0;i<rr_data.length;i++) {
|
||||
if(rr_data[i] > 0.2) {
|
||||
rcounter += 1;
|
||||
ofr += Math.pow(rr_data[i] - 1, 2);
|
||||
}
|
||||
}
|
||||
if(lcounter > 0)
|
||||
ofl = Math.sqrt(ofl / lcounter) * 100;
|
||||
if(rcounter > 0)
|
||||
ofr = Math.sqrt(ofr / rcounter) * 100;
|
||||
[[plx, ply, ll_data], [prx, pry, rr_data]].forEach(([px, py, circularity_data]) => {
|
||||
const MAX_N = circularity_data.length;
|
||||
const pa = (parseInt(Math.round(Math.atan2(py, px) * MAX_N / 2.0 / Math.PI)) + MAX_N) % MAX_N;
|
||||
const pd = Math.sqrt(px*px + py*py);
|
||||
const old = circularity_data[pa] ?? 0;
|
||||
circularity_data[pa] = Math.max(old, pd);
|
||||
});
|
||||
}
|
||||
|
||||
const enable_zoom_center = center_zoom_checked();
|
||||
// Draw left stick
|
||||
draw_stick_position(ctx, hb, yb, sz, plx, ply, {
|
||||
circularity_data: enable_circ_test ? ll_data : null,
|
||||
enable_zoom_center,
|
||||
});
|
||||
|
||||
// Draw right stick
|
||||
draw_stick_position(ctx, w-hb, yb, sz, prx, pry, {
|
||||
circularity_data: enable_circ_test ? rr_data : null,
|
||||
enable_zoom_center,
|
||||
});
|
||||
|
||||
const precision = enable_zoom_center ? 3 : 2;
|
||||
$("#lx-lbl").text(float_to_str(last_lx, precision));
|
||||
$("#ly-lbl").text(float_to_str(last_ly, precision));
|
||||
$("#rx-lbl").text(float_to_str(last_rx, precision));
|
||||
$("#ry-lbl").text(float_to_str(last_ry, precision));
|
||||
|
||||
if(enable_circ_test) {
|
||||
const olf = ll_data.reduce((acc, val) => val > 0.2 ? acc + Math.pow(val - 1, 2) : acc, 0);
|
||||
const lcounter = ll_data.filter(val => val > 0.2).length;
|
||||
const ofl = lcounter > 0 ? Math.sqrt(olf / lcounter) * 100 : 0;
|
||||
|
||||
const orf = rr_data.reduce((acc, val) => val > 0.2 ? acc + Math.pow(val - 1, 2) : acc, 0);
|
||||
const rcounter = rr_data.filter(val => val > 0.2).length;
|
||||
const ofr = rcounter > 0 ? Math.sqrt(orf / rcounter) * 100 : 0;
|
||||
|
||||
el = ofl.toFixed(2) + "%";
|
||||
er = ofr.toFixed(2) + "%";
|
||||
@@ -1611,12 +1582,38 @@ function refresh_stick_pos() {
|
||||
}
|
||||
}
|
||||
|
||||
function circ_checked() { return $("#checkCircularity").is(':checked') }
|
||||
function circ_checked() { return $("#checkCircularityMode").is(':checked') }
|
||||
function center_zoom_checked() { return $("#centerZoomMode").is(':checked') }
|
||||
|
||||
function on_circ_check_change() {
|
||||
function apply_center_zoom(x, y) {
|
||||
// Calculate distance from center
|
||||
const distance = Math.sqrt(x * x + y * y);
|
||||
|
||||
// If distance is 0, return original values
|
||||
if (distance === 0) {
|
||||
return { x, y};
|
||||
}
|
||||
|
||||
// Calculate angle
|
||||
const angle = Math.atan2(y, x);
|
||||
|
||||
// Apply center zoom transformation
|
||||
const new_distance =
|
||||
distance <= 0.05
|
||||
? (distance / 0.05) * 0.5 // 0 to 0.05 maps to 0 to 0.5 (half the radius)
|
||||
: 0.5 + ((distance - 0.05) / 0.95) * 0.5 // 0.05 to 1.0 maps to 0.5 to 1.0 (other half)
|
||||
|
||||
// Convert back to x, y coordinates
|
||||
return {
|
||||
x: Math.cos(angle) * new_distance,
|
||||
y: Math.sin(angle) * new_distance
|
||||
};
|
||||
}
|
||||
|
||||
function on_stick_mode_change() {
|
||||
enable_circ_test = circ_checked();
|
||||
for(i=0;i<ll_data.length;i++) ll_data[i] = 0;
|
||||
for(i=0;i<rr_data.length;i++) rr_data[i] = 0;
|
||||
ll_data.fill(0);
|
||||
rr_data.fill(0);
|
||||
|
||||
if(enable_circ_test) {
|
||||
$("#circ-data").show();
|
||||
@@ -1626,9 +1623,9 @@ function on_circ_check_change() {
|
||||
refresh_stick_pos();
|
||||
}
|
||||
|
||||
function float_to_str(f) {
|
||||
if(f < 0.004 && f >= -0.004) return "+0.00";
|
||||
return (f<0?"":"+") + f.toFixed(2);
|
||||
function float_to_str(f, precision = 2) {
|
||||
if(precision <=2 && f < 0.004 && f >= -0.004) return "+0.00";
|
||||
return (f<0?"":"+") + f.toFixed(precision);
|
||||
}
|
||||
|
||||
var on_delay = false;
|
||||
@@ -1880,10 +1877,10 @@ function process_ds4_input(data) {
|
||||
var rx = data.data.getUint8(2);
|
||||
var ry = data.data.getUint8(3);
|
||||
|
||||
var new_lx = Math.round((lx - 127.5) / 128 * 100) / 100;
|
||||
var new_ly = Math.round((ly - 127.5) / 128 * 100) / 100;
|
||||
var new_rx = Math.round((rx - 127.5) / 128 * 100) / 100;
|
||||
var new_ry = Math.round((ry - 127.5) / 128 * 100) / 100;
|
||||
var new_lx = (lx - 127.5) / 128;
|
||||
var new_ly = (ly - 127.5) / 128;
|
||||
var new_rx = (rx - 127.5) / 128;
|
||||
var new_ry = (ry - 127.5) / 128;
|
||||
|
||||
if(last_lx != new_lx || last_ly != new_ly || last_rx != new_rx || last_ry != new_ry) {
|
||||
last_lx = new_lx;
|
||||
@@ -1944,10 +1941,10 @@ function process_ds_input(data) {
|
||||
var rx = data.data.getUint8(2);
|
||||
var ry = data.data.getUint8(3);
|
||||
|
||||
var new_lx = Math.round((lx - 127.5) / 128 * 100) / 100;
|
||||
var new_ly = Math.round((ly - 127.5) / 128 * 100) / 100;
|
||||
var new_rx = Math.round((rx - 127.5) / 128 * 100) / 100;
|
||||
var new_ry = Math.round((ry - 127.5) / 128 * 100) / 100;
|
||||
var new_lx = (lx - 127.5) / 128;
|
||||
var new_ly = (ly - 127.5) / 128;
|
||||
var new_rx = (rx - 127.5) / 128;
|
||||
var new_ry = (ry - 127.5) / 128;
|
||||
|
||||
if(last_lx != new_lx || last_ly != new_ly || last_rx != new_rx || last_ry != new_ry) {
|
||||
last_lx = new_lx;
|
||||
@@ -2245,7 +2242,7 @@ async function multi_calib_sticks_end() {
|
||||
await ds4_calibrate_sticks_end();
|
||||
else
|
||||
await ds5_calibrate_sticks_end();
|
||||
on_circ_check_change();
|
||||
on_stick_mode_change();
|
||||
}
|
||||
|
||||
async function multi_calib_sticks_sample() {
|
||||
@@ -2276,7 +2273,7 @@ async function multi_calibrate_range_on_close() {
|
||||
await ds4_calibrate_range_end();
|
||||
else
|
||||
await ds5_calibrate_range_end();
|
||||
on_circ_check_change();
|
||||
on_stick_mode_change();
|
||||
}
|
||||
|
||||
|
||||
|
||||
14
index.html
14
index.html
@@ -297,8 +297,16 @@ dl.row dd { font-family: monospace; }
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<center>
|
||||
<input class="form-check-input" type="checkbox" value="" id="checkCircularity">
|
||||
<label class="form-check-label ds-i18n" for="checkCircularity">Check circularity</label>
|
||||
<div class="btn-group mb-3" role="group" aria-label="Display mode options">
|
||||
<input type="radio" class="btn-check" name="displayMode" id="normalMode" value="normal" checked>
|
||||
<label class="btn btn-outline-secondary btn-sm ds-i18n" for="normalMode">Normal</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="displayMode" id="centerZoomMode" value="centerZoom">
|
||||
<label class="btn btn-outline-secondary btn-sm ds-i18n" for="centerZoomMode">10x zoom</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="displayMode" id="checkCircularityMode" value="checkCircularity">
|
||||
<label class="btn btn-outline-secondary btn-sm ds-i18n" for="checkCircularityMode">Check circularity</label>
|
||||
</div>
|
||||
<div class="hstack" id="circ-data">
|
||||
<div class="vstack" style="text-align: center;">
|
||||
<span class="ds-i18n">Err L:</span>
|
||||
@@ -943,7 +951,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> 2.10</a> (2025-08-02) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a> <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.11</a> (2025-08-02) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a> <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>
|
||||
|
||||
@@ -187,6 +187,7 @@
|
||||
"Bluetooth Address": "عنوان البلوتوث",
|
||||
"Show all": "عرض الكل",
|
||||
"(beta)": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -219,6 +220,7 @@
|
||||
"Left stick": "",
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
|
||||
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
|
||||
|
||||
@@ -161,6 +161,7 @@
|
||||
"Save changes permanently": "Запазете промените постоянно",
|
||||
"Reboot controller": "Рестартирайте контролера",
|
||||
"(beta)": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -207,6 +208,7 @@
|
||||
"MCU Unique ID": "",
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"PCBA ID": "",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
|
||||
|
||||
@@ -143,6 +143,7 @@
|
||||
"Check circularity": "Zkontrolujte rozsah",
|
||||
"(Dualsense) Will updating the firmware reset calibration?": "",
|
||||
"(beta)": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -198,6 +199,7 @@
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"No.": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Only after you have done that, you click on \"Done\".": "",
|
||||
"PCBA ID": "",
|
||||
|
||||
@@ -221,7 +221,6 @@
|
||||
"Nova Pink": "Nova Pink",
|
||||
"PCBA ID": "PCBA ID",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "Forbind venligst en DualShock 4-, DualSense- eller DualSense Edge-controller til din computer, og tryk på Tilslut.",
|
||||
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
|
||||
"Right Module Barcode": "Højre Modul Stregkode",
|
||||
"SBL FW Version": "SBL FW Version",
|
||||
"Spider FW Version": "Spider FW Version",
|
||||
@@ -242,5 +241,8 @@
|
||||
"here": "her",
|
||||
"left module": "venstre modul",
|
||||
"right module": "højre modul",
|
||||
"10x zoom": "",
|
||||
"Normal": "",
|
||||
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
|
||||
"": ""
|
||||
}
|
||||
@@ -187,6 +187,7 @@
|
||||
"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!",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -218,6 +219,7 @@
|
||||
"MCU Unique ID": "",
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"PCBA ID": "",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
|
||||
|
||||
@@ -143,6 +143,7 @@
|
||||
"Check circularity": "Comprobar circularidad",
|
||||
"(Dualsense) Will updating the firmware reset calibration?": "",
|
||||
"(beta)": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -198,6 +199,7 @@
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"No.": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Only after you have done that, you click on \"Done\".": "",
|
||||
"PCBA ID": "",
|
||||
|
||||
@@ -143,6 +143,7 @@
|
||||
"Check circularity": "Vérifier la circularité",
|
||||
"(Dualsense) Will updating the firmware reset calibration?": "",
|
||||
"(beta)": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -198,6 +199,7 @@
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"No.": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Only after you have done that, you click on \"Done\".": "",
|
||||
"PCBA ID": "",
|
||||
|
||||
@@ -235,10 +235,12 @@
|
||||
"Sterling Silver": "Sterling Silver",
|
||||
"Volcanic Red": "Volcanic Red",
|
||||
"White": "Fehér",
|
||||
"10x zoom": "",
|
||||
"Chroma Indigo": "",
|
||||
"Chroma Pearl": "",
|
||||
"Chroma Teal": "",
|
||||
"Fortnite": "",
|
||||
"Normal": "",
|
||||
"Spider-Man 2": "",
|
||||
"The Last of Us": "",
|
||||
"": ""
|
||||
|
||||
@@ -242,5 +242,7 @@
|
||||
"Fortnite": "Fortnite",
|
||||
"Spider-Man 2": "Spider-Man 2",
|
||||
"The Last of Us": "The Last of Us",
|
||||
"10x zoom": "Zoom 10x",
|
||||
"Normal": "Normale",
|
||||
"": ""
|
||||
}
|
||||
|
||||
@@ -155,6 +155,7 @@
|
||||
"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!": "ご支援とご厚意に感謝します!",
|
||||
"(Dualsense) Will updating the firmware reset calibration?": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -203,6 +204,7 @@
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"No.": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Only after you have done that, you click on \"Done\".": "",
|
||||
"PCBA ID": "",
|
||||
|
||||
@@ -186,6 +186,7 @@
|
||||
"Bluetooth Address": "Bluetooth Address",
|
||||
"Show all": "모두 보기",
|
||||
"(beta)": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -218,6 +219,7 @@
|
||||
"Left stick": "",
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
|
||||
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
|
||||
|
||||
@@ -143,6 +143,7 @@
|
||||
"Check circularity": "Controleer de circulariteit",
|
||||
"(Dualsense) Will updating the firmware reset calibration?": "",
|
||||
"(beta)": "",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -198,6 +199,7 @@
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"No.": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Only after you have done that, you click on \"Done\".": "",
|
||||
"PCBA ID": "",
|
||||
|
||||
@@ -242,5 +242,7 @@
|
||||
"Fortnite": "Fortnite",
|
||||
"Spider-Man 2": "Spider-Man 2",
|
||||
"The Last of Us": "The Last of US",
|
||||
"10x zoom": "",
|
||||
"Normal": "",
|
||||
"": ""
|
||||
}
|
||||
@@ -161,6 +161,7 @@
|
||||
"Save changes permanently": "Salvar alterações permanentemente.",
|
||||
"Reboot controller": "Reiniciar controle",
|
||||
"(beta)": "(beta)",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -207,6 +208,7 @@
|
||||
"MCU Unique ID": "",
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"PCBA ID": "",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
|
||||
|
||||
@@ -223,6 +223,7 @@
|
||||
"Right Module Barcode": "Código de barras do módulo direito",
|
||||
"left module": "módulo esquerdo",
|
||||
"right module": "módulo direito",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"Astro Bot": "",
|
||||
"Chroma Indigo": "",
|
||||
@@ -235,6 +236,7 @@
|
||||
"God of War Ragnarok": "",
|
||||
"Grey Camouflage": "",
|
||||
"Midnight Black": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Spider-Man 2": "",
|
||||
"Starlight Blue": "",
|
||||
|
||||
@@ -198,6 +198,7 @@
|
||||
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "Aktivno radim na dodavanju kompatibilnosti, glavni izazov je u čuvanju podataka u modulima džojstika.",
|
||||
"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": "Ako vam je ovaj alat bio koristan ili želite da podrška za DualSense Edge stigne brže, razmislite o podršci projekta sa",
|
||||
"Thank you for your generosity and support!": "Hvala vam na velikodušnosti i podršci!",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
@@ -223,6 +224,7 @@
|
||||
"Left Module Barcode": "",
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
|
||||
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
|
||||
|
||||
@@ -222,6 +222,7 @@
|
||||
"here": "здесь",
|
||||
"left module": "Левый модуль",
|
||||
"right module": "Правый модуль",
|
||||
"10x zoom": "",
|
||||
"30th Anniversary": "",
|
||||
"Astro Bot": "",
|
||||
"Chroma Indigo": "",
|
||||
@@ -234,6 +235,7 @@
|
||||
"God of War Ragnarok": "",
|
||||
"Grey Camouflage": "",
|
||||
"Midnight Black": "",
|
||||
"Normal": "",
|
||||
"Nova Pink": "",
|
||||
"Spider-Man 2": "",
|
||||
"Starlight Blue": "",
|
||||
|
||||
170
lang/tr_tr.json
170
lang/tr_tr.json
@@ -1,5 +1,5 @@
|
||||
{
|
||||
".authorMsg": "- Çeviri: <a href='https://www.youtube.com/channel/UC8pzDCIt_CUj8sa7cYgPzHQ'>Tamir-Teknik</a> tarafından yapılmıştır.",
|
||||
".authorMsg": "- Çeviri: <a href='https://www.youtube.com/channel/UC8pzDCIt_CUj8sa7cYgPzHQ'>Tamir-Teknik</a> ve <a href='https://share.google/hCBJV5fFMbd5gJxxZ'>CzR PlayStation Teknik Servis</a> tarafından yapılmıştır.",
|
||||
"DualShock Calibration GUI": "DualShock Kalibrasyon Arayüzü",
|
||||
"Unsupported browser. Please use a web browser with WebHID support (e.g. Chrome).": "Desteklenmeyen tarayıcı. Lütfen WebHID desteği olan bir web tarayıcısı kullanın (örneğin, Chrome).",
|
||||
"Connect": "Bağlan",
|
||||
@@ -85,7 +85,7 @@
|
||||
"Have a nice day :)": "İyi günler! :)",
|
||||
"Welcome to the Calibration GUI": "Kalibrasyon Arayüzü'ne hoş geldiniz",
|
||||
"Just few things to know before you can start:": "Başlamadan önce bilmeniz gereken birkaç şey:",
|
||||
"This website is not affiliated with Sony, PlayStation & co.": "Bu web sitesi, Sony, PlayStation ve diğerleri ile ilişkili değildir.",
|
||||
"This website is not affiliated with Sony, PlayStation & co.": "Bu web sitesi, Sony, PlayStation ve diğerleri ile ilişkili değildir.",
|
||||
"This service is provided without warranty. Use at your own risk.": "Bu hizmet garanti olmaksızın sunulmaktadır. Kullanım kendi sorumluluğunuzdadır.",
|
||||
"Keep the internal battery of the controller connected and ensure it is well charged. If the battery dies during operations, the controller will be damaged and rendered unusable.": "Denetleyicinin dahili bataryasını bağlı tutun ve iyi şarj edildiğinden emin olun. İşlemler sırasında pil biterse, denetleyici zarar görecektir ve kullanılamaz hale gelecektir.",
|
||||
"Before doing the permanent calibration, try the temporary one to ensure that everything is working well.": "Kalıcı kalibrasyonu yapmadan önce, her şeyin iyi çalıştığından emin olmak için geçici bir kalibrasyon yapın.",
|
||||
@@ -143,7 +143,7 @@
|
||||
"Check circularity": "Daireselliği kontrol et",
|
||||
"Can I reset a permanent calibration to previous calibration?": "Kalıcı bir kalibrasyonu önceki kalibrasyona sıfırlayabilir miyim?",
|
||||
"No.": "Hayır.",
|
||||
"Can you overwrite a permanent calibration?": "Kalıcı bir kalibrasyonun üzerine yeniden yazabilirmiyiz",
|
||||
"Can you overwrite a permanent calibration?": "Kalıcı bir kalibrasyonun üzerine yeniden yazabilir miyiz?",
|
||||
"Yes. Simply do another permanent calibration.": "Evet. Sadece yeni bir kalıcı kalibrasyon yapın.",
|
||||
"Does this software resolve stickdrift?": "Bu yazılım analog kaydırma sorununu çözer mi?",
|
||||
"Stickdrift is caused by a physical defect; namely dirt, worn potentiometer or in some cases a worn spring.": "Analog kaydırması fiziksel bir arızadan kaynaklanır; kir, aşınmış potansiyometre veya bazı durumlarda aşınmış bir yaydan.",
|
||||
@@ -160,86 +160,88 @@
|
||||
"Error while saving changes:": "Değişiklikleri kaydederken hata:",
|
||||
"Save changes permanently": "Değişiklikleri kalıcı olarak kaydet",
|
||||
"Reboot controller": "Denetleyiciyi yeniden başlat",
|
||||
"(beta)": "",
|
||||
"30th Anniversary": "",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "",
|
||||
"Astro Bot": "",
|
||||
"Battery Barcode": "",
|
||||
"Bluetooth Address": "",
|
||||
"Calibration is being stored in the stick modules.": "",
|
||||
"Cancel": "",
|
||||
"Cannot lock": "",
|
||||
"Cannot store data into": "",
|
||||
"Cannot unlock": "",
|
||||
"Center X": "",
|
||||
"Center Y": "",
|
||||
"Chroma Indigo": "",
|
||||
"Chroma Pearl": "",
|
||||
"Chroma Teal": "",
|
||||
"Cobalt Blue": "",
|
||||
"Color": "",
|
||||
"Color detection thanks to": "",
|
||||
"Controller Info": "",
|
||||
"Cosmic Red": "",
|
||||
"Debug Info": "",
|
||||
"Debug buttons": "",
|
||||
"DualSense Edge Calibration": "",
|
||||
"FW Build Date": "",
|
||||
"FW Series": "",
|
||||
"FW Type": "",
|
||||
"FW Update": "",
|
||||
"FW Update Info": "",
|
||||
"FW Version": "",
|
||||
"Finetune stick calibration": "",
|
||||
"For more info or help, feel free to reach out on Discord.": "",
|
||||
"Fortnite": "",
|
||||
"Galactic Purple": "",
|
||||
"God of War Ragnarok": "",
|
||||
"Grey Camouflage": "",
|
||||
"HW Model": "",
|
||||
"Hardware": "",
|
||||
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "",
|
||||
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "",
|
||||
"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": "",
|
||||
"Left Module Barcode": "",
|
||||
"Left stick": "",
|
||||
"MCU Unique ID": "",
|
||||
"Midnight Black": "",
|
||||
"More details and images": "",
|
||||
"Nova Pink": "",
|
||||
"PCBA ID": "",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "",
|
||||
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "",
|
||||
"Right Module Barcode": "",
|
||||
"Right stick": "",
|
||||
"SBL FW Version": "",
|
||||
"Save": "",
|
||||
"Serial Number": "",
|
||||
"Show all": "",
|
||||
"Software": "",
|
||||
"Spider FW Version": "",
|
||||
"Spider-Man 2": "",
|
||||
"Starlight Blue": "",
|
||||
"Sterling Silver": "",
|
||||
"Support for calibrating DualSense Edge stick modules is now available as an <b>experimental feature</b>.": "",
|
||||
"Thank you for your generosity and support!": "",
|
||||
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "",
|
||||
"The Last of Us": "",
|
||||
"This involves temporarily disabling write protection by applying <b>+1.8V</b> to a specific test point on each module.": "",
|
||||
"This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "",
|
||||
"This screen allows to finetune raw calibration data on your controller": "",
|
||||
"Touchpad FW Version": "",
|
||||
"Touchpad ID": "",
|
||||
"VCM Left Barcode": "",
|
||||
"VCM Right Barcode": "",
|
||||
"Venom FW Version": "",
|
||||
"Volcanic Red": "",
|
||||
"We are not responsible for any damage caused by attempting this modification.": "",
|
||||
"White": "",
|
||||
"You can do this in two ways:": "",
|
||||
"here": "",
|
||||
"left module": "",
|
||||
"right module": "",
|
||||
"(beta)": "(beta)",
|
||||
"30th Anniversary": "30. Yıl Dönümü",
|
||||
"<b>Externally</b>: by applying +1.8V directly to the visible test point without opening the controller": "<b>Harici olarak</b>: Denetleyiciyi açmadan görünür test noktasına doğrudan +1.8V uygulayarak",
|
||||
"<b>Internally</b>: by soldering a wire from a +1.8V source to the write-protect TP.": "<b>Dahili olarak</b>: +1.8V bir kaynaktan yazma koruma TP'sine bir kablo lehimleyerek.",
|
||||
"Astro Bot": "Astro Bot",
|
||||
"Battery Barcode": "Batarya Barkodu",
|
||||
"Bluetooth Address": "Bluetooth Adresi",
|
||||
"Calibration is being stored in the stick modules.": "Kalibrasyon, analog modüllerine kaydediliyor.",
|
||||
"Cancel": "İptal",
|
||||
"Cannot lock": "Kilitlenemiyor",
|
||||
"Cannot store data into": "Veri kaydedilemiyor",
|
||||
"Cannot unlock": "Kilit açılamıyor",
|
||||
"Center X": "Merkez X",
|
||||
"Center Y": "Merkez Y",
|
||||
"Chroma Indigo": "Kroma İndigo",
|
||||
"Chroma Pearl": "Kroma İnci",
|
||||
"Chroma Teal": "Kroma Turkuaz",
|
||||
"Cobalt Blue": "Kobalt Mavisi",
|
||||
"Color": "Renk",
|
||||
"Color detection thanks to": "Renk tespiti sayesinde",
|
||||
"Controller Info": "Denetleyici Bilgisi",
|
||||
"Cosmic Red": "Kozmik Kırmızı",
|
||||
"Debug Info": "Hata Ayıklama Bilgisi",
|
||||
"Debug buttons": "Hata ayıklama düğmeleri",
|
||||
"DualSense Edge Calibration": "DualSense Edge Kalibrasyonu",
|
||||
"FW Build Date": "FW Derleme Tarihi",
|
||||
"FW Series": "FW Serisi",
|
||||
"FW Type": "FW Türü",
|
||||
"FW Update": "FW Güncellemesi",
|
||||
"FW Update Info": "FW Güncelleme Bilgisi",
|
||||
"FW Version": "FW Sürümü",
|
||||
"Finetune stick calibration": "Analog kalibrasyonunu ince ayarla",
|
||||
"For more info or help, feel free to reach out on Discord.": "Daha fazla bilgi veya yardım için Discord üzerinden ulaşabilirsiniz.",
|
||||
"Fortnite": "Fortnite",
|
||||
"Galactic Purple": "Galaktik Mor",
|
||||
"God of War Ragnarok": "God of War Ragnarok",
|
||||
"Grey Camouflage": "Gri Kamuflaj",
|
||||
"HW Model": "HW Modeli",
|
||||
"Hardware": "Donanım",
|
||||
"I'm actively working on adding compatibility, the primary challenge lies in storing data into the stick modules.": "Uyumluluk ekleme üzerinde aktif olarak çalışıyorum, asıl zorluk verilerin analog modüllere kaydedilmesinde yatıyor.",
|
||||
"If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "Kalibrasyon kalıcı olarak kaydedilmezse, lütfen donanım modunun kablolamasını iki kez kontrol edin.",
|
||||
"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": "Eğer bu araç size yardımcı olduysa veya DualSense Edge desteğinin daha hızlı gelmesini istiyorsanız, lütfen projeyi bir",
|
||||
"Left Module Barcode": "Sol Modül Barkodu",
|
||||
"Left stick": "Sol analog",
|
||||
"MCU Unique ID": "MCU Benzersiz Kimliği",
|
||||
"Midnight Black": "Gece Yarısı Siyahı",
|
||||
"More details and images": "Daha fazla detay ve görsel",
|
||||
"Nova Pink": "Nova Pembe",
|
||||
"PCBA ID": "PCBA Kimliği",
|
||||
"Please connect a DualShock 4, a DualSense or DualSense Edge controller to your computer and press Connect.": "Lütfen bilgisayarınıza bir DualShock 4, bir DualSense veya DualSense Edge denetleyici bağlayın ve Bağlan'a basın.",
|
||||
"Please note: the stick modules on the DS Edge <b>cannot be calibrated via software alone</b>.To store a custom calibration on the stick's internal memory, a <b>hardware modification</b> is required.": "Lütfen dikkat: DS Edge üzerindeki analog modülleri <b>yalnızca yazılım aracılığıyla kalibre edilemez</b>. Özelleştirilmiş bir kalibrasyonu analogun dahili belleğine kaydetmek için bir <b>donanım değişikliği</b> gereklidir.",
|
||||
"Right Module Barcode": "Sağ Modül Barkodu",
|
||||
"Right stick": "Sağ analog",
|
||||
"SBL FW Version": "SBL FW Sürümü",
|
||||
"Save": "Kaydet",
|
||||
"Serial Number": "Seri Numarası",
|
||||
"Show all": "Tümünü göster",
|
||||
"Software": "Yazılım",
|
||||
"Spider FW Version": "Örümcek FW Sürümü",
|
||||
"Spider-Man 2": "Örümcek-Adam 2",
|
||||
"Starlight Blue": "Yıldız Işığı Mavisi",
|
||||
"Sterling Silver": "Gümüş",
|
||||
"Support for calibrating DualSense Edge stick modules is now available as an <b>experimental feature</b>.": "DualSense Edge analog modüllerinin kalibrasyonuna destek, artık <b>deneysel bir özellik</b> olarak mevcuttur.",
|
||||
"Thank you for your generosity and support!": "Cömertliğiniz ve desteğiniz için teşekkür ederiz!",
|
||||
"The DualShock Calibration GUI does not currently support the DualSense Edge.": "DualShock Kalibrasyon Arayüzü şu anda DualSense Edge'i desteklemiyor.",
|
||||
"The Last of Us": "The Last of Us",
|
||||
"This involves temporarily disabling write protection by applying <b>+1.8V</b> to a specific test point on each module.": "Bu, her modül üzerindeki belirli bir test noktasına <b>+1.8V</b> uygulayarak yazma korumasını geçici olarak devre dışı bırakmayı içerir.",
|
||||
"This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "Bu sadece ileri düzey kullanıcılar içindir. Ne yaptığınızdan emin değilseniz, lütfen denemeyin.",
|
||||
"This screen allows to finetune raw calibration data on your controller": "Bu ekran, denetleyicinizdeki ham kalibrasyon verilerini ince ayarlamaya olanak tanır",
|
||||
"Touchpad FW Version": "Dokunmatik Yüzey FW Sürümü",
|
||||
"Touchpad ID": "Dokunmatik Yüzey Kimliği",
|
||||
"VCM Left Barcode": "VCM Sol Barkodu",
|
||||
"VCM Right Barcode": "VCM Sağ Barkodu",
|
||||
"Venom FW Version": "Venom FW Sürümü",
|
||||
"Volcanic Red": "Volkanik Kırmızı",
|
||||
"We are not responsible for any damage caused by attempting this modification.": "Bu modifikasyonu denemenin neden olduğu herhangi bir hasardan sorumlu değiliz.",
|
||||
"White": "Beyaz",
|
||||
"You can do this in two ways:": "Bunu iki şekilde yapabilirsiniz:",
|
||||
"here": "burada",
|
||||
"left module": "sol modül",
|
||||
"right module": "sağ modül",
|
||||
"10x zoom": "",
|
||||
"Normal": "",
|
||||
"": ""
|
||||
}
|
||||
@@ -241,5 +241,7 @@
|
||||
"Fortnite": "Обмежена серія Fortnite",
|
||||
"Spider-Man 2": "Обмежена серія Spider-Man 2",
|
||||
"The Last of Us": "Обмежена серія The Last of Us",
|
||||
"10x zoom": "",
|
||||
"Normal": "",
|
||||
"": ""
|
||||
}
|
||||
}
|
||||
@@ -242,5 +242,7 @@
|
||||
"Fortnite": "堡垒之夜",
|
||||
"Spider-Man 2": "漫威蜘蛛侠2",
|
||||
"The Last of Us": "最后生还者",
|
||||
"10x zoom": "",
|
||||
"Normal": "",
|
||||
"": ""
|
||||
}
|
||||
@@ -242,5 +242,7 @@
|
||||
"Fortnite": "要塞英雄",
|
||||
"Spider-Man 2": "蜘蛛人2",
|
||||
"The Last of Us": "最後生還者",
|
||||
"10x zoom": "",
|
||||
"Normal": "",
|
||||
"": ""
|
||||
}
|
||||
Reference in New Issue
Block a user