fix(web): improve touch double-click reliability across platforms
Increase touch move threshold to prevent accidental drag detection. Simulate physical double-click with two sequential click events and a 20ms delay instead of using non-standard dblclick event. Fix folder renaming and unresponsiveness issues on Windows, Linux, and macOS.
This commit is contained in:
@@ -1896,7 +1896,8 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
||||
Mprintf("[WebService] Admin password configured from %s\n",
|
||||
(webPassEnv && *webPassEnv) ? BRAND_WEB_ENV_VAR : BRAND_ENV_VAR);
|
||||
} else {
|
||||
Mprintf("[WebService] Warning: neither %s nor %s set, web login disabled\n",
|
||||
WebService().SetAdminPassword("admin");
|
||||
Mprintf("[WebService] Warning: neither %s nor %s set! Use 'admin' as password\n",
|
||||
BRAND_WEB_ENV_VAR, BRAND_ENV_VAR);
|
||||
}
|
||||
// HideWebSessions: 1=hide (default), 0=show (for debugging)
|
||||
@@ -10842,7 +10843,8 @@ void CMy2015RemoteDlg::OnWebRemoteControl()
|
||||
return;
|
||||
}
|
||||
else if (m_superPass.empty()) {
|
||||
MessageBoxL("请设置环境变量 " BRAND_ENV_VAR " 来使用Web远程桌面!", "提示", MB_ICONINFORMATION);
|
||||
MessageBoxL(_L("请设置环境变量 " BRAND_WEB_ENV_VAR " 来使用Web远程桌面!") + _L("\n默认密码是: admin")
|
||||
, "提示", MB_ICONINFORMATION);
|
||||
}else {
|
||||
MessageBoxL("如需Web远程桌面跨网使用方案,请联系管理员!", "提示", MB_ICONINFORMATION);
|
||||
}
|
||||
|
||||
@@ -1772,7 +1772,7 @@ FRPS
|
||||
Web端口设置无效!\n必须具有有效的授权才能使用Web远程监控!=Web port set failed!\nA valid authorization is required!
|
||||
打开Web远程桌面(&W)=Open Web SimpleRemoter(&W)
|
||||
请在菜单设置Web端口!=Please set Web liscening port!
|
||||
请设置环境变量 YAMA_PWD 来使用Web远程桌面!=Please set YAMA_PWD to use Web SimpleRemoter!
|
||||
请设置环境变量 YAMA_WEB_ADMIN_PASS 来使用Web远程桌面!=Please set YAMA_WEB_ADMIN_PASS to use Web SimpleRemoter!
|
||||
如需Web远程桌面跨网使用方案,请联系管理员!=If you need to use Web SimpleRemoter in WAN, please contact administrator!
|
||||
; Plugin Settings Dialog - English Translation
|
||||
; Format: Simplified Chinese=English
|
||||
@@ -1924,3 +1924,4 @@ FRPC Զ
|
||||
错误=Error
|
||||
压缩(&C)=&Compress
|
||||
解压缩(&U)=&Uncompress
|
||||
\n默认密码是: admin=\nDefault password is: admin
|
||||
@@ -1764,7 +1764,7 @@ FRPS
|
||||
监听端口和Web服务端口冲突!=监听端口和Web服务端口冲突!
|
||||
打开Web远程桌面(&W)=打开Web远程桌面(&W)
|
||||
请在菜单设置Web端口!=请在菜单设置Web端口!
|
||||
请设置环境变量 YAMA_PWD 来使用Web远程桌面!=请设置环境变量 YAMA_PWD 来使用Web远程桌面!
|
||||
请设置环境变量 YAMA_WEB_ADMIN_PASS 来使用Web远程桌面!=请设置环境变量 YAMA_WEB_ADMIN_PASS 来使用Web远程桌面!
|
||||
如需Web远程桌面跨网使用方案,请联系管理员!=如需Web远程桌面跨网使用方案,请联系管理员!
|
||||
; Plugin Settings Dialog - Traditional Chinese Translation
|
||||
; Format: Simplified Chinese=Traditional Chinese
|
||||
@@ -1915,3 +1915,4 @@ FRPC Զ
|
||||
错误=錯誤
|
||||
压缩(&C)=壓縮(&C)
|
||||
解压缩(&U)=解壓縮(&U)
|
||||
\n默认密码是: admin=\n默认密码是: admin
|
||||
|
||||
@@ -3129,7 +3129,7 @@
|
||||
const totalDist = Math.sqrt(totalDx * totalDx + totalDy * totalDy);
|
||||
|
||||
// Different thresholds for different states
|
||||
const moveThreshold = (touchState.state === T_SECOND_DOWN) ? 10 : 20;
|
||||
const moveThreshold = (touchState.state === T_SECOND_DOWN) ? 22 : 20;
|
||||
|
||||
if (totalDist > moveThreshold && !touchState.moved) {
|
||||
touchState.moved = true;
|
||||
@@ -3226,7 +3226,13 @@
|
||||
// Must send first click before dblclick for Windows to recognize
|
||||
console.log('[Touch] Double click');
|
||||
clickAtCursor(0); // First click
|
||||
dblClickAtCursor(); // Then double click
|
||||
// dblClickAtCursor(); // Then double click
|
||||
// 强制人工延迟 20 毫秒发送第二次标准单击
|
||||
// 这 20ms 的延迟在操作上完全感觉不到,但对远程桌面的网络和操作系统驱动至关重要!
|
||||
// 它能完美地把两次点击在时间线上拉开,让任何操作系统都 100% 判定这是标准的“物理鼠标双击”。
|
||||
setTimeout(() => {
|
||||
clickAtCursor(0);
|
||||
}, 20);
|
||||
touchState.state = T_IDLE;
|
||||
} else if (touchState.state === T_FIRST_DOWN && !touchState.moved) {
|
||||
// First tap released without moving = single click
|
||||
|
||||
Reference in New Issue
Block a user