diff --git a/plugins/global-shortcut/README.md b/plugins/global-shortcut/README.md index f3288258..f62c22d8 100644 --- a/plugins/global-shortcut/README.md +++ b/plugins/global-shortcut/README.md @@ -63,12 +63,14 @@ fn main() { app.handle().plugin( tauri_plugin_global_shortcut::Builder::new() .with_shortcuts(["ctrl+d", "alt+space"])? - .with_handler(|app, shortcut| { - if shortcut.matches(Modifiers::CONTROL, Code::KeyD) { - let _ = app.emit("shortcut-event", "Ctrl+D triggered"); - } - if shortcut.matches(Modifiers::ALT, Code::Space) { - let _ = app.emit("shortcut-event", "Alt+Space triggered"); + .with_handler(|app, shortcut, event| { + if event.state == ShortcutState::Preseed { + if shortcut.matches(Modifiers::CONTROL, Code::KeyD) { + let _ = app.emit("shortcut-event", "Ctrl+D triggered"); + } + if shortcut.matches(Modifiers::ALT, Code::Space) { + let _ = app.emit("shortcut-event", "Alt+Space triggered"); + } } }) .build(), @@ -86,8 +88,10 @@ Afterwards all the plugin's APIs are available through the JavaScript bindings: ```javascript import { register } from "@tauri-apps/plugin-global-shortcut"; -await register("CommandOrControl+Shift+C", () => { - console.log("Shortcut triggered"); +await register("CommandOrControl+Shift+C", (event) => { + if (event.state === "Pressed") { + console.log("Shortcut triggered"); + } }); ``` diff --git a/plugins/global-shortcut/guest-js/index.ts b/plugins/global-shortcut/guest-js/index.ts index cfde9b87..17bd94e3 100644 --- a/plugins/global-shortcut/guest-js/index.ts +++ b/plugins/global-shortcut/guest-js/index.ts @@ -23,8 +23,10 @@ export type ShortcutHandler = (event: ShortcutEvent) => void; * @example * ```typescript * import { register } from '@tauri-apps/plugin-global-shortcut'; - * await register('CommandOrControl+Shift+C', () => { - * console.log('Shortcut triggered'); + * await register('CommandOrControl+Shift+C', (event) => { + * if (event.state === "Pressed") { + * console.log('Shortcut triggered'); + * } * }); * ``` * @@ -51,8 +53,8 @@ async function register( * @example * ```typescript * import { registerAll } from '@tauri-apps/plugin-global-shortcut'; - * await registerAll(['CommandOrControl+Shift+C', 'Ctrl+Alt+F12'], (shortcut) => { - * console.log(`Shortcut ${shortcut} triggered`); + * await registerAll(['CommandOrControl+Shift+C', 'Ctrl+Alt+F12'], (event) => { + * console.log(`Shortcut ${event.shortcut} ${event.state}`); * }); * ``` *