1
1
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

MacのSafariでClaudeを使用すると自動でメッセージが送信されてしまって面倒

Last updated at Posted at 2024-06-18

本記事の概要

Mac の Safari で Claude を使用すると自動でメッセージが送信されてしまって面倒なのでどうにかしたい.変換を確定させるだけでチャットが送信されてしまう.
解決策としては,ある条件で起動した Safari で起動した Claude のみ 「(特定のキー)+Enter」でメッセージを送信できるように設定した.

Requirements

  • Mac OS
  • Safari

解決策

1. Karabiner-Elements のインストール

Karabiner-Elements をインストールして,Karabiner-Elements および Karabiner EventViewer が使用できる状態にしておく.

2. Claude を Docker に固定

Safari で Claude を開き,ブラウザ右上の「共有」ボタンから Dock に追加 (英語では Add to Dock)
すると,Dock に Claude のアイコンが追加されている.これは Safari 経由で Claude を立ち上げるためのショートカットになる.以下,これを Claude on Safari と呼ぶ.

  • 仮に Add to Dock が存在していない場合
    iOS のバージョンから起因している可能性が高い.MacOS Sonoma からこの機能が実装されたようなので,仮にオプションがなければ OS のバージョンを確認してみてほしい.

3. Karabiner EventViewer から Claude on Safari の ID を見つける

Karabiner EventViewer を立ち上げ.Frontmost Application を選択し,先ほど Dock に追加した Claude on Safari を立ち上げる.すると,Bundle Indentifier および File Path が表示されるので,Copy to pasteboard などで Bundle Indentifier の情報を獲得する.

4. Karabiner-Elements に Claude on Safari を登録する.

Add your own rule の部分に以下のコードを記載する.

{
    "description": "********** 1 **********",
    "manipulators": [
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "********** 2 **********"
                    ],
                    "type": "frontmost_application_if"
                }
            ],
            "from": {
                "key_code": "********** 3 **********"
            },
            "to": [
                {
                    "key_code": "********** 4 **********",
                    "modifiers": [
                        "********** 5 **********"
                    ]
                }
            ],
            "type": "basic"
        }
    ]
}

以下,それぞれ

********** 1 **********

このスクリプトのタイトル.例えば「Claude on Safari: Enter + X to send」のように設定する.

********** 2 **********

3.で取得した Bundle Indentifier をここに記載する.
ただし, エスケープ記号などを追加する必要がある ので注意.
例えば,"^com\\.apple\\.Safari.WebApp.AAAAAAAAAAAAAAAAAAAAAAA$" のような形で入力することになる.

********** 3 **********

通常の送信コマンドをここに付記する.通常は "return_or_enter" でよい.

********** 4 **********

通常の送信コマンドをここに付記する.通常は "return_or_enter" でよい.

********** 5 **********

Enter キーと何のキーを同時に押すことで送信をさせるかを決定する.
例えばキーコードを入力してやればよい.例えば左 Shift キーであれば "left_shift" と入力してあげればよい.

6. (予備) 動作確認

通常のやり方で Safari を立ち上げ,他のアプリなどでこれまで通り問題なく動作をしているかどうかを確認する.また,Dock から Claude on Safari を立ち上げて,設定した通りに Claude のメッセージ送信ができるようになっているかの確認をする.

Reference

Karabiner-Elements complex_modifications rules

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1