Global Shortcut
Registra atajos globales.
Plataformas Soportadas
Sección titulada “Plataformas Soportadas”Este plugin requiere una versión de Rust de al menos 1.77.2
| Plataforma | Nivel | Notas |
|---|---|---|
| windows | ||
| linux | ||
| macos | ||
| android | ||
| ios |
Configuración
Sección titulada “Configuración”Instala el plugin global-shortcut para comenzar.
Usa el gestor de paquetes de tu proyecto para agregar la dependencia:
npm run tauri add global-shortcutyarn run tauri add global-shortcutpnpm tauri add global-shortcutdeno task tauri add global-shortcutbun tauri add global-shortcutcargo tauri add global-shortcut-
Ejecuta el siguiente comando en la carpeta
src-tauripara agregar el plugin a las dependencias del proyecto enCargo.toml:cargo add tauri-plugin-global-shortcut --target 'cfg(any(target_os = "macos", windows, target_os = "linux"))' -
Modifica
lib.rspara inicializar el plugin: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");} -
Instala los bindings de JavaScript utilizando tu gestor de paquetes de JavaScript preferido:
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
El plugin global-shortcut está disponible tanto en JavaScript como en 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");}Permisos
Sección titulada “Permisos”De forma predeterminada, todos los comandos y alcances (scopes) potencialmente peligrosos del plugin están bloqueados y no se puede acceder a ellos. Debes modificar los permisos en tu configuración de capabilities para habilitarlos.
Consulta la Visión General de Capacidades para obtener más información y la guía paso a paso para usar permisos de plugins.
{ "$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" ]}Permiso Predeterminado
No hay características habilitadas por defecto, ya que consideramos que los atajos pueden ser inherentemente peligrosos y depende de cada aplicación si se deben registrar o desregistrar atajos específicos.
Tabla de Permisos
| Identificador | Descripción |
|---|---|
|
|
Habilita el comando is_registered sin ningún ámbito preconfigurado. |
|
|
Deniega el comando is_registered sin ningún ámbito preconfigurado. |
|
|
Habilita el comando register sin ningún ámbito preconfigurado. |
|
|
Deniega el comando register sin ningún ámbito preconfigurado. |
|
|
Habilita el comando register_all sin ningún alcance preconfigurado. |
|
|
Deniega el comando register_all sin ningún alcance preconfigurado. |
|
|
Habilita el comando unregister sin ningún ámbito preconfigurado. |
|
|
Deniega el comando unregister sin ningún ámbito preconfigurado. |
|
|
Habilita el comando unregister_all sin ningún alcance preconfigurado. |
|
|
Deniega el comando unregister_all sin ningún alcance preconfigurado. |
© 2026 Colaboradores de Tauri. CC-BY / MIT