SuperAPI AI 工具集

tauri-app-global-shortcut

编程与开发

查看项目

更新于 10-16 07:54

技能介绍

用途

该技能用于在 Tauri v2 应用中注册系统级(system-wide)键盘快捷键。当需要添加在应用失去焦点时仍然生效的全局热键、处理快捷键冲突、或通过键盘快捷键触发应用聚焦或命令时,应使用本技能。触发关键词包括:global shortcut、hotkey、keyboard shortcut、keybinding、accelerator。

主要能力

  • 注册全局快捷键,使其在应用未聚焦时也能触发。
  • 检测并处理快捷键冲突(当其他应用已占用该快捷键时)。
  • 通过快捷键触发应用聚焦或执行命令。
  • 提供快捷键到动作的路由模式。
  • 在应用退出时注销快捷键,清理系统级注册。

使用方式

  1. 安装 global-shortcut 插件:
cargo add tauri-plugin-global-shortcut
  1. 在 Tauri builder 中注册插件:
tauri::Builder::default()
    .plugin(tauri_plugin_global_shortcut::Builder::new().build())
  1. 在 src-tauri/capabilities/default.json 中配置权限:
{ "permissions": ["global-shortcut:allow-register", "global-shortcut:allow-unregister"] }
  1. 从前端注册快捷键:
import { register, unregister } from '@tauri-apps/plugin-global-shortcut';
await register('CommandOrControl+Shift+K', (event) => {
  if (event.state === 'Pressed') {
    console.log('Shortcut triggered!');
  }
});
  1. 处理冲突:当其他应用已占用该快捷键时,捕获注册错误进行处理。

  2. 在应用退出时注销快捷键,以清理系统级注册。

输出

  • 带冲突处理的全局快捷键注册。
  • 快捷键到动作的路由模式。
  • 应用退出时的清理逻辑。

适用场景

  • 需要全局热键在应用失焦时仍可用的桌面应用。
  • 需要通过快捷键唤起应用焦点或触发命令的场景。
  • 需要检测并解决快捷键冲突的场景。

限制

资料未提供关于平台支持范围、具体错误类型、快捷键格式的完整说明等细节,暂未提供。

参考

https://v2.tauri.app/plugin/global-shortcut/