---
title: Global Shortcut（グローバル・ショートカット）
description: グローバル・ショートカットを登録します。
plugin: global-shortcut
i18nReady: true
---

import PluginLinks from '@components/PluginLinks.astro';
import Compatibility from '@components/plugins/Compatibility.astro';

import { Tabs, TabItem, Steps } from '@astrojs/starlight/components';
import CommandTabs from '@components/CommandTabs.astro';
import PluginPermissions from '@components/PluginPermissions.astro';
import TranslationNote from '@components/i18n/TranslationNote.astro';

<TranslationNote lang="ja">

**Plugin 説明内容の英語表記部分について**　Plugin の各章は、原文データからページ内容の一部が自動生成されているため、英語表記のままの部分があります。

</TranslationNote>

<PluginLinks plugin={frontmatter.plugin} />

グローバルショートカットを登録します。

## 対応プラットフォーム

<Compatibility plugin={frontmatter.plugin} />

## セットアップ

はじめに、「Global Shortcut グローバル・ショートカット」プラグインをインストールしてください。

<Tabs>
  <TabItem label="自動で設定" >

    自分のプロジェクトのパッケージ・マネージャーを使用して依存関係を追加します：

    { ' ' }

    <CommandTabs
      npm="npm run tauri add global-shortcut"
      yarn="yarn run tauri add global-shortcut"
      pnpm="pnpm tauri add global-shortcut"
      deno="deno task tauri add global-shortcut"
      bun="bun tauri add global-shortcut"
      cargo="cargo tauri add global-shortcut"
    />

  </TabItem>
  <TabItem label = "手動で設定">
    <Steps>

    1.  `src-tauri` フォルダで次のコマンドを実行して、このプラグインを `Cargo.toml` 内のプロジェクトの依存関係に追加します：

        ```sh frame=none
        cargo add tauri-plugin-global-shortcut --target 'cfg(any(target_os = "macos", windows, target_os = "linux"))'
        ```

    2.  追加したプラグインを初期化するために `lib.rs` を修正します：

        ```rust title="src-tauri/src/lib.rs" ins={4-5}
        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");
        }
        ```

    3.  お好みの JavaScript パッケージ・マネージャーを使用して、「JavaScript Guest」バインディングをインストールします：

        <CommandTabs
          npm = "npm install @tauri-apps/plugin-global-shortcut"
          yarn = "yarn add @tauri-apps/plugin-global-shortcut"
          pnpm = "pnpm add @tauri-apps/plugin-global-shortcut"
          deno = "deno add npm:@tauri-apps/plugin-global-shortcut"
          bun = "bun add @tauri-apps/plugin-global-shortcut"
        />

    </Steps>

  </TabItem>
</Tabs>

## 使用法

「グローバル・ショートカット global-shortcut」プラグインは JavaScript と Rust の両方で利用可能です。

<Tabs syncKey="lang">
  <TabItem label="JavaScript" >

```javascript
import { register } from '@tauri-apps/plugin-global-shortcut';
// `"withGlobalTauri": true` を使用する場合は、
// const { register } = window.__TAURI__.globalShortcut;　を使用できます

await register('CommandOrControl+Shift+C', () => {
  console.log('Shortcut triggered');
});
```

  </TabItem>
  <TabItem label = "Rust" >

```rust title="src-tauri/src/lib.rs"
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");
}
```

  </TabItem>
</Tabs>

## アクセス権限 Permissions

デフォルトでは、潜在的に危険なプラグイン・コマンドとそのスコープ（有効範囲）はすべてブロックされており、アクセスできません。これらを有効にするには、`capabilities` 設定でアクセス権限を変更する必要があります。

詳細については「[セキュリティ・レベル Capabilities](/ja/security/capabilities/)」の章を参照してください。また、プラグインのアクセス権限を設定するには「[プライグン・アクセス権の使用](/ja/learn/security/using-plugin-permissions/)」の章のステップ・バイ・ステップ・ガイドを参照してください。

```json title="src-tauri/capabilities/default.json" ins={7-9}
{
  "$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"
  ]
}
```

<PluginPermissions plugin={frontmatter.plugin} />

<div style="text-align: right;">
  【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
</div>
