diff --git a/src-tauri/src/core/tray/mod.rs b/src-tauri/src/core/tray/mod.rs index 221f23aa1..8afb56751 100644 --- a/src-tauri/src/core/tray/mod.rs +++ b/src-tauri/src/core/tray/mod.rs @@ -548,12 +548,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, }