全局快捷键
注册全局快捷键。
支持的平台
此插件需要至少 1.77.2 版本的 Rust
平台 | 级别 | 注释 |
---|---|---|
windows | ||
linux | ||
macos | ||
android | | |
ios | |
设置
安装 global-shortcut 插件以开始使用。
使用项目的包管理器添加依赖项
npm run tauri add global-shortcut
yarn run tauri add global-shortcut
pnpm tauri add global-shortcut
deno task tauri add global-shortcut
bun tauri add global-shortcut
cargo tauri add global-shortcut
-
在
src-tauri
文件夹中运行以下命令,将插件添加到Cargo.toml
项目的依赖项中cargo add tauri-plugin-global-shortcut --target 'cfg(any(target_os = "macos", windows, target_os = "linux"))' -
修改
lib.rs
以初始化插件src-tauri/src/lib.rs pub fn run() {tauri::Builder::default().setup(|app| {#[cfg(desktop)]app.handle().plugin(tauri_plugin_global_shortcut::Builder::new().build());Ok(())}).run(tauri::generate_context!()).expect("error while running tauri application");} -
使用首选的 JavaScript 包管理器安装 JavaScript Guest 绑定
npm install @tauri-apps/plugin-global-shortcutyarn add @tauri-apps/plugin-global-shortcutpnpm add @tauri-apps/plugin-global-shortcutdeno add npm:@tauri-apps/plugin-global-shortcutbun add @tauri-apps/plugin-global-shortcut
用法
global-shortcut 插件在 JavaScript 和 Rust 中均可用。
import { register } from '@tauri-apps/plugin-global-shortcut';// when using `"withGlobalTauri": true`, you may use// const { register } = window.__TAURI__.globalShortcut;
await register('CommandOrControl+Shift+C', () => { console.log('Shortcut triggered');});
pub fn run() { tauri::Builder::default() .setup(|app| { #[cfg(desktop)] { use tauri_plugin_global_shortcut::{Code, GlobalShortcutExt, Modifiers, Shortcut, ShortcutState};
let ctrl_n_shortcut = Shortcut::new(Some(Modifiers::CONTROL), Code::KeyN); app.handle().plugin( tauri_plugin_global_shortcut::Builder::new().with_handler(move |_app, shortcut, event| { println!("{:?}", shortcut); if shortcut == &ctrl_n_shortcut { match event.state() { ShortcutState::Pressed => { println!("Ctrl-N Pressed!"); } ShortcutState::Released => { println!("Ctrl-N Released!"); } } } }) .build(), )?;
app.global_shortcut().register(ctrl_n_shortcut)?; } Ok(()) }) .run(tauri::generate_context!()) .expect("error while running tauri application");}
权限
默认情况下,所有潜在危险的插件命令和范围都被阻止,无法访问。您必须修改 capabilities
配置文件中的权限才能启用这些。
{ "$schema": "../gen/schemas/desktop-schema.json", "identifier": "main-capability", "description": "Capability for the main window", "windows": ["main"], "permissions": [ "global-shortcut:allow-is-registered", "global-shortcut:allow-register", "global-shortcut:allow-unregister" ]}
默认权限
默认情况下,未启用任何功能,因为我们认为快捷方式可能 inherently dangerous,并且是否应注册或注销特定快捷方式是特定于应用程序的。
此默认权限集包括以下内容
权限表
标识符 | 描述 |
---|---|
|
启用 is_registered 命令,无需任何预配置的范围。 |
|
拒绝 is_registered 命令,无需任何预配置的范围。 |
|
启用 register 命令,无需任何预配置的范围。 |
|
拒绝 register 命令,无需任何预配置的范围。 |
|
启用 register_all 命令,无需任何预配置的范围。 |
|
拒绝 register_all 命令,无需任何预配置的范围。 |
|
启用 unregister 命令,无需任何预配置的范围。 |
|
拒绝 unregister 命令,无需任何预配置的范围。 |
|
启用 unregister_all 命令,无需任何预配置的范围。 |
|
拒绝 unregister_all 命令,无需任何预配置的范围。 |
© 2025 Tauri 贡献者。CC-BY / MIT