全局快捷方式
全局快捷方式
注册全局快捷方式。
支持的平台
This plugin requires a Rust version of at least 1.77.2
Platform | Level | Notes |
---|---|---|
windows | ✅ | |
linux | ✅ | |
macos | ✅ | |
android | ❌ | |
ios | ❌ |
设置
请安装全局快捷方式插件。
# 非自动+pnpm版本,详见原文
pnpm tauri add global-shortcut
用法
全局快捷方式插件有 JavaScript 和 Rust 两种版本。
JavaScript
import { register } from '@tauri-apps/plugin-global-shortcut';
await register('CommandOrControl+Shift+C', () => {
console.log('Shortcut triggered');
});
Rust
src-tauri/scr/lib.rs
fn run() {
tauri::Builder::default()
.setup(|app| {
#[cfg(desktop)]
{
use tauri_plugin_global_shortcut::{Code, GlobalShortcutExt, Modifiers, Shortcut};
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| {
println!("{:?}", shortcut);
if shortcut == &ctrl_n_shortcut {
println!("Ctrl-N Detected!");
}
})
.build(),
)?;
app.global_shortcut().register(ctrl_n_shortcut)?;
}
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
权限
默认情况下,所有插件命令都被阻止,无法访问。你必须在你的 capabilities
配置中定义一个权限列表。
更多信息请参见访问控制列表。
src-tauri/capabilities/default.json
{
"$schema": "./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"
]
}
权限 | 描述 |
---|---|
global-shortcut:allow-is-registered | 在没有预先配置作用域的情况下,启用 is_registered 命令。 |
global-shortcut:deny-is-registered | 拒绝没有任何预先配置的作用域的 is_registered 命令。 |
global-shortcut:allow-register | 在没有预先配置作用域的情况下,启用 register 命令。 |
global-shortcut:deny-register | 拒绝没有任何预先配置的作用域的 is_registered 命令。 |
global-shortcut:allow-register-all | 在没有预先配置作用域的情况下,启用 is_registered 命令。 |
global-shortcut:deny-register-all | 拒绝没有任何预先配置的作用域的 is_registered 命令。 |
global-shortcut:allow-unregister | 在没有预先配置作用域的情况下,启用 is_registered 命令。 |
global-shortcut:deny-unregister | 拒绝没有任何预先配置的作用域的 is_registered 命令。 |
global-shortcut:allow-unregister-all | 在没有预先配置作用域的情况下,启用 unregister_all 命令。 |
global-shortcut:deny-unregister-all | 拒绝没有任何预先配置的作用域的 unregister_all 命令。 |
链接到当前文件 0
没有文件链接到当前文件