From 02520d7392ba295a305e06b7d09789af32d6880e Mon Sep 17 00:00:00 2001 From: oomeow Date: Sun, 25 Oct 2026 09:34:09 +0000 Subject: [PATCH] fix(tray): skip Win-key accelerators on Windows (#8400) --- src-tauri/src/core/tray/mod.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src-tauri/src/core/tray/mod.rs b/src-tauri/src/core/tray/mod.rs index 3d7f0aaf5..ae8c63c2c 100644 --- a/src-tauri/src/core/tray/mod.rs +++ b/src-tauri/src/core/tray/mod.rs @@ -422,12 +422,11 @@ fn create_hotkeys(hotkeys: &Option>) -> HashMap<&str, &str> { let mut parts = item.split(','); match (parts.next(), parts.next()) { (Some(func), Some(key)) => { - // 托盘菜单中的 `accelerator` 属性,在 Linux/Windows 中都不支持小键盘按键的解析 - if key.to_uppercase().contains("NUMPAD") { - None - } else { - Some((func, key)) - } + // 托盘菜单的 `accelerator` 在 Linux/Windows 下不支持小键盘按键,Windows 下也不支持 Win 键(前端上报为 `CMD`) + let uppercase_key = key.to_uppercase(); + let unsupported = + uppercase_key.contains("NUMPAD") || (cfg!(windows) && uppercase_key.contains("CMD")); + if unsupported { None } else { Some((func, key)) } } _ => None, }