用途
该技能用于在 Tauri v2 应用中注册系统级(system-wide)键盘快捷键。当需要添加在应用失去焦点时仍然生效的全局热键、处理快捷键冲突、或通过键盘快捷键触发应用聚焦或命令时,应使用本技能。触发关键词包括:global shortcut、hotkey、keyboard shortcut、keybinding、accelerator。
主要能力
- 注册全局快捷键,使其在应用未聚焦时也能触发。
- 检测并处理快捷键冲突(当其他应用已占用该快捷键时)。
- 通过快捷键触发应用聚焦或执行命令。
- 提供快捷键到动作的路由模式。
- 在应用退出时注销快捷键,清理系统级注册。
使用方式
- 安装 global-shortcut 插件:
cargo add tauri-plugin-global-shortcut
- 在 Tauri builder 中注册插件:
tauri::Builder::default()
.plugin(tauri_plugin_global_shortcut::Builder::new().build())
- 在 src-tauri/capabilities/default.json 中配置权限:
{ "permissions": ["global-shortcut:allow-register", "global-shortcut:allow-unregister"] }
- 从前端注册快捷键:
import { register, unregister } from '@tauri-apps/plugin-global-shortcut';
await register('CommandOrControl+Shift+K', (event) => {
if (event.state === 'Pressed') {
console.log('Shortcut triggered!');
}
});
-
处理冲突:当其他应用已占用该快捷键时,捕获注册错误进行处理。
-
在应用退出时注销快捷键,以清理系统级注册。
输出
- 带冲突处理的全局快捷键注册。
- 快捷键到动作的路由模式。
- 应用退出时的清理逻辑。
适用场景
- 需要全局热键在应用失焦时仍可用的桌面应用。
- 需要通过快捷键唤起应用焦点或触发命令的场景。
- 需要检测并解决快捷键冲突的场景。
限制
资料未提供关于平台支持范围、具体错误类型、快捷键格式的完整说明等细节,暂未提供。
参考
https://v2.tauri.app/plugin/global-shortcut/