Macで作業自動化&ショートカット

# 導入
MacにはAutomatorとAppleScriptという機能がデフォルトでインストールされています。
これらを利用することで作業を自動化することやショートカットキーを割り当てることで、一発でその作業を実行することができます。
今回はQiitaをChromeで開くショートカットを作成してみました。

# 各機能の紹介
## Automator

Automatorは、Macで利用できるアプリケーションで、繰り返し作業や複雑なタスクを自動化するためのツールです。
以下のアイコンのアプリケーションのことです。
<img width='200' src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1655179/0487e5ca-2cee-f88e-c084-6db2509c6bed.png' />

プログラミングの知識が不要で、ドラッグ＆ドロップでフローを構築し、日常的な作業を自動化するワークフローを作成できます。
ファイルの名前変更、メールの一括送信、ファイルのバックアップなどが簡単に行えます。

主要な特徴としては、以下の項目が挙げられます。

- 複数のアクションを連続して実行するワークフローの作成
- ドラッグ＆ドロップといった簡単な操作
- AppleScriptやシェルスクリプトを使用して高度な自動化が可能

## AppleScript
AppleScriptは、Mac上で使えるスクリプト言語です。
アプリケーションやシステムの動作を自動化したりカスタマイズしたりするために使用できます。AppleScriptを使うと、アプリケーション間の連携や、繰り返し作業の自動化を簡単に行うことができます。

「スクリプトエディタ」というアプリケーションがMacに標準で搭載されていますが、
そのスクリプトエディタでAppleScriptを作成し、実行することが可能です。
今回はAutomator上で、AppleScriptを記述するため、スクリプトエディタの使用に関しては割愛します。

# 手順
## 1. Automatorでの新規クイックアクションの作成

### 1-1. Automatorの起動
まず、Automatorを起動します。
「アプリケーション」というフォルダの中に含まれています。
アプリケーションがどこにあるかわからない方は、「⌘command」+「スペース」を押して「Spotlight検索」を開いてください。
![Spotlight検索.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1655179/518c514e-94c2-1624-42b9-dc1e85160e4c.png)
このウィンドウに「Automator」と入力すると、Automatorが見つけられるかと思います。

### 1-2. クイックアクションの作成
Automatorを開いたら、プロジェクトを作成します。
その際、以下のウィンドウで「クイックアクション」選択します。
<img width='300' src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1655179/12f37628-00f4-b81b-aa7d-c97cf9bf0162.png' />

### 1-3. AppleScriptの設定
左上の検索欄で「AppleScript」と入力します。
その下に「AppleScriptを実行」という項目が出てくるので、ダブルクリックするか、右のエリアにドラッグ&ドロップします。

![スクリーンショット 2024-06-27 22.20.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1655179/cb54ab91-b84c-1b85-2407-b4bf7f348fad.png)

右エリアのAppleScriptの「on run ...」と書かれたエリアに以下のソースを貼り付けます。
これで、どのタイミングであってもChromeをアクティブにし、Qiitaを開く処理が実行されるAppleScriptが作成できます。

```applescript
tell application "Google Chrome"
	activate
	delay 0.5
	open location "https://qiita.com/"
end tell
```

最後に「⌘command」+「S」を押してクイックアクションを保存します。
名前は「OpenQiita」としました。

これで、いつでもAutoMatorからOpenQiitaを実行することで、Chromeがアクティブになり、Qiitaが新しいタブで開くようになります。

## 2. キーボードショートカットの追加

Macの[システム設定] > [キーボード] > [キーボードショートカット...]を選択していくと、ポップアップが開きます。
さらにそのポップアップで、[サービス] > [一般] の中から、OpenQiitaを見つけます。
「なし」をダブルクリックした後、割り当てるショートカットキーを押します。すると、「なし」の場所が押したショートカットキーに変化します。今回は「⌥⇧⌘/」(option+Shift+command+"/")としました。
この設定後、「⌥⇧⌘/」を押すことで、Qiitaが開くことが確認できます。
![動作確認.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1655179/4ff2daf4-212c-61d1-517e-a033b43efee1.gif)


## 3. (おまけ) 自作キーボードへのキー設定
私は自作キーボードを使用しています。
自作キーボードは自分でキーコンフィグを変更でき、通常のキーボードにおけるキーをまとめて1つにキーに割り当てることが可能です。
なので、今回はこのQiitaを開く「⌥⇧⌘/」を私のキーボードに設定しました。

自作キーボードのキー設定を変更するには、QMK Firmwareを利用しますが、その利用方法は割愛します。
カスタムしたキー設定は、キーマップ用のソースを以下のような処理を追加する必要があります。

```c:keymap.c
#include QMK_KEYBOARD_H

enum custom_keycodes {
    QIITA = SAFE_RANGE,
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
        case QIITA:
            if (record->event.pressed) {
                SEND_STRING(SS_LSFT(SS_LALT(SS_LGUI("/"))));
            }
            return false;
        default:
            return true;
    }
}
// 以下キーの設定
```

さらに通常のキーの設定で`KC_ESC`や`KC_1`を設定する代わりに`QIITA`を設定してキーボードのProMicroにこのデータを書き込むと、設定したキーを押すだけで「⌥⇧⌘/」が実行され、Qiitaが起動するようになります。

## 4. 簡単なアレンジ
よく仕事でChatGPTなどの生成AIを利用する方も結構いると思いますが、Qiitaではなく、AppleScriptにおいて、そういった生成AIのURLを設定すれば、ショートカットキーでChatGPTなどを開くことが可能になります。
現に私もChatGPTを開く設定を仕事用のPCに施しています。

# 終わりに
本記事では、Qiitaを開くショートカットをAutomatorとAppleScriptを利用して作成しました。
これを応用してさまざまな場面で利用していただけたらと思います。