当サイトは、アフィリエイト・アドセンス広告を掲載しています。消費者庁が、2023年10月1日から施行予定である景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています(記事はこちら、消す方法はこちら

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

【ChatGPT】Enterで改行して、Ctrl+Enterで送信する方法

2023年3月11日JavaScript

この記事では、AIと会話できるサービス「ChatGPT(チャット・ジーピーティー)」上のEnterキーで送信機能を無効化して、代わりに、+Enter、あるいはCtrl+Enterで送信するように変える方法を書きます。

ウェブサイトにJavaScriptを適用できるChrome拡張機能「Tampermonkey(タンパーモンキー)」を利用します。

【ChatGPT】Enterで改行して、Ctrl+Enterで送信する方法

通常、「ChatGPT」ページでは、Enter、あるいはCtrl+Enterで送信、Shift+Enterで改行です。

「ChatGPT」の送信・改行キー
Enter送信
Ctrl+Enter
Shift+Enter改行
ChatGPTの入力フォーム画像

これにより、「文字を変換するために、Enterを押したら、うっかり文章の途中で送信しちゃった!」という事件が起きます。僕は、たびたびやらかします。

どうにかEnterの送信機能を無効化して、別のキーで送信できるようにできないかな…と探してみると、見つけたので共有します。Windows、Mac両方で動作します。

Chrome拡張機能「Tampermonkey(タンパーモンキー)」を利用しますが、本拡張機能以外でもOKです。

2023年4月追記

僕のWindows環境だと、うまく動作しない時がありました。Enterを押すと、普通に送信されてしまう時があります。「動作が安定しないなぁ。JavaScriptで無理やり実装しているからなのかなぁ」と悩んでいたところ、別の方から連絡をいただきました。

どうやら、2023年4月時点で、過去のチャット部屋では動作しないスクリプトだそうです。その方が、新しく過去・新規トーク部屋の両方で動作するChrome拡張機能「ChatGPT Ctrl+Enter Sender」を公開しました。詳しくは、下記記事を参考にしてみてください。

もし、本記事のスクリプトを導入した状態で、上記拡張機能を導入しても、機能がダブるため、どちらかを削除しましょう。僕のWindows環境だと、本記事のスクリプトが不安定で動作しない時もあったため、拡張機能を利用することにしました。皆さんのPC環境によって、どちらが相性良いか変わってくると思います。

リリース元:ぴざきゃっと(GitHubはこちら
記事執筆時のバージョン:0.2.0(2022年12月05日)

インストール方法

Chromeウェブストアから「Tampermonkey」をインストールします。

「Chromeに追加」をクリックします。

「Tampermonkey」のインストール手順画像

Firefoxをご利用の方は、以下からインストールできます。

Enter無効化スクリプトの適用方法

スクリプトのダウンロード

以下のサイトからダウンロードできます。

スクリプト(JavaScript)と呼ばれるプログラミングコードです。こちらのコードを、先ほどダウンロードしたJavaScriptを適用できる拡張機能(例:Tampermonkey)に読み込ませることで、ChatGPT上のEnterを無効化できる…という仕組みです。

サイトにアクセスしたら、コードが書かれていることを確認して、右上のコピーボタン(コピーボタン画像)をクリックします。

「Send message on ⌘+Enter」スクリプトのGitHubページ画像

コピーボタンが緑のチェックマークになればOKです。クリップボードにコピーされています。

スクリプトを拡張機能に読み込ませる

ChatGPT」のチャットページにアクセスします。インストールした拡張機能アイコンをクリック→「新規スクリプトを追加」をクリックします。

「Send message on ⌘+Enter」スクリプトを適用する手順画像1

新しいタブでスクリプトを書き込む画面が表示されます。既にサンプルのコードが書かれているので、Ctrl+Aで全選択して、BackSpaceDeleteキーで削除します。何も書き込まれていない状態にします。

「Send message on ⌘+Enter」スクリプトを適用する手順画像2

全文削除できたら、先ほどコピーした「Enter送信無効化」コード(スクリプト)を貼り付けます。貼り付けたら、「ファイル」タブ→「保存」をクリックします。

「Send message on ⌘+Enter」スクリプトを適用する手順画像3
【注意】Windowsをお使いの場合

僕は、Windowsを利用しています。一方で、本コードの作成者は、恐らくMacを利用されています。Windowsでは聞いたことがない「(コマンド)」という単語が登場しているためです。

これにより、上記のコードをそのままコピペしても、Windowsでは動作しません。Enterは無効化されますが、送信するための代替キーが何もない状態になります。Macを使っている方は、そのままコピペすることで、+Enterで送信できるはずです。

Windowsで使いたい場合は、コード内の一部を書き換えます。「if」から始まる行を探します。その行に「metaKey」という部分があるはずです。ここを「ctrlKey」に変えます。

「Send message on ⌘+Enter」スクリプトをWindows用に修正する手順画像1
<!--以下の行を探す-->
      if (e.code == "Enter" && !e.metaKey) {

<!--以下のように修正する-->
      if (e.code == "Enter" && !e.ctrlKey) {

ついでにタイトルも変えておくと、見やすくていいと思います。

// @name」の部分に、タイトルが記載されています。デフォルトでは「Send message on ⌘+Enter」になっています。好きなように変えましょう。日本語でもOKです。僕は、「Enter無効化、Ctrl+Enterで送信」にしました。

「Send message on ⌘+Enter」スクリプトをWindows用に修正する手順画像2

書き換えたら、「ファイル」タブ→「保存」をクリックします。

インストールしたスクリプト一覧ページに戻ります。ここに、「Send message on ⌘+Enter(名前を変えていない場合)」が登録されていればOKです。

「Send message on ⌘+Enter」スクリプトを適用する手順画像4

本スクリプトの利用方法

ChatGPT」のチャットページを開きます。既に開いている場合は、一度リロードする必要があります。Tampermonkey拡張機能アイコンをクリックして、インストールしたスクリプトがオンになっていればOKです。

「Tampermonkey」のポップアップ画像

これで、ChatGPTのテキストフォーム内でEnterを押しても、送信されなくなります。代わりに改行されます。Shift+Enterはこれまで通り改行です。動画を貼っておきます。

一時的にJavaScriptを停止させたい場合は、「Tampermonkey」アイコン→登録したスクリプトを左クリックします。オンオフを切り替えられます。オンオフした後、一度対象ページをリロードする必要があります。余談ですが、右クリックすると、編集画面が開きます。

Firefoxで動作しない場合の対処法

上記リンク先のコードだと、Firefoxで動作しませんでした。コードの一部を書き換えることで、動くようになるようです。別の方に教えていただきました。

コードを書き込んだ後、「e.stopPropagation();」という部分を、「e.stopImmediatePropagation();」に変えます。

「Send message on ⌘+Enter」コードをFirefoxで動作するよう修正する手順画像
<!--以下の行を探す-->
        e.stopPropagation();

<!--以下のように書き換える-->
        e.stopImmediatePropagation();

上書き保存して、ChatGPTページをリロードすることで、Firefoxでも動作すると思います。僕は、コードの意味が全く分からないので、なんでこの書き換えで動作するのか説明できません。

感想

以上、質問に対して、AIが答えを教えてくれる自然言語処理サービス「ChatGPT(チャット・ジーピーティー)」で、Enterを無効化して、+Enter、あるいはCtrl+Enterで送信する方法でした。

余談ですが、「ChatGPT」に質問する際のポイントについて、まとめた記事を書いています。

2023年3月11日JavaScript