Googleチャットの改行を「Enterのみ」送信を「Ctrl+Enter」にするスクリプト
逆になんで「Shift+Enter」で改行、「Enter」で送信がデフォルトなんだろうと。
たしかに、Googleに限らずチャットって改行をしないような、短い文章のやりとりなイメージはあるけど…。
でも個人的には短い文章を連投するより、改行しつつ一度にまとめて送信したい。
普段は誤送信を防ぐために、タスクバーからMery(テキストエディタ)を起動して、文字を打ってからGoogleチャットにペーストして送信してますが、めんどくて「まっ、だいじょぶやろ」と思ってGoogleチャット直で入力すると途中で誤送信。
って言うくらい、自分の中でEnterは改行なんですッ。
なので何か対策はないかと調べたら、Chrome用の拡張機能はあったのですがFirefox用がない…。
ただ調べてる途中で、Googleチャットとは関係ないけどユーザースクリプトであれこれする記事を見つけ、「この方法ならFirefox・Chrome関係なく使えるやんッ。」と思いユーザースクリプトを作成することにしました。
ここから続き
Tampermonkey用のスクリプト
と言うことで「Enterのみで改行」、「Ctrl+Enterで送信」にするスクリプトを作成しました。
チャッピーが 🤖
- UserScript
-
// ==UserScript== // @name Google Chat Enter=改行 / Ctrl+Enter=送信 // @namespace https://tampermonkey.net/ // @version 1.0 // @description Google Chat Web版で Enter を改行、Ctrl+Enter を送信に変更 // @match https://chat.google.com/* // @grant none // @run-at document-start // ==/UserScript== (function () { 'use strict'; // Google Chat の入力欄を判定 function isChatInput(target) { return target && target.isContentEditable && target.closest('[contenteditable="true"]'); } document.addEventListener('keydown', function (e) { if (e.key !== 'Enter') return; if (!isChatInput(e.target)) return; // Ctrl + Enter → 通常の送信処理に任せる if (e.ctrlKey && !e.shiftKey && !e.altKey) { return; } // Enter → 改行 if (!e.ctrlKey && !e.shiftKey && !e.altKey) { e.preventDefault(); e.stopImmediatePropagation(); // Google Chat が通常の改行として処理する const newEvent = new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true, shiftKey: true }); e.target.dispatchEvent(newEvent); } }, true); })();
なんで送信を「Shift+Enter」にしなかったかと言うと、Winodwsユーザーなのでショートカットキーは「Ctrl」を押しながらが基本なので。
ちなみに、最初Geminiにスクリプト作成してもらいましたが、エラーで使い物になりませんでした。
チャッピーは一発だったのに…。
でもこのミームのおかげで、Geminiは愛嬌があって好き。
ついでにWeb版のGeminiもEnterで改行にするスクリプト
チャッピーさすが 🤖
- UserScript
-
// ==UserScript== // @name Gemini - Enterで改行 // @namespace https://tampermonkey.net/ // @version 1.0.0 // @description Gemini Web版でEnterキーを改行にする // @match https://gemini.google.com/* // @run-at document-start // @grant none // @noframes // ==/UserScript== (function () { 'use strict'; // 入力欄かどうか判定 function isInputElement(target) { if (!target) return false; // textarea if (target.tagName === 'TEXTAREA') { return true; } // contenteditable if (target.isContentEditable) { return true; } // textbox if (target.getAttribute?.('role') === 'textbox') { return true; } return false; } // IME変換中かどうか function isComposing(e) { return e.isComposing || e.keyCode === 229; } // Enterキー処理 document.addEventListener('keydown', function (e) { if (e.key !== 'Enter') return; if (!isInputElement(e.target)) return; // 日本語入力中は何もしない if (isComposing(e)) return; // Enter → 改行 if ( !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); e.stopImmediatePropagation(); // Shift + Enterを発生させて改行させる const newEvent = new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true, shiftKey: true }); e.target.dispatchEvent(newEvent); } }, true); })();
最初はChatGPTとGeminiの両方対応で「Enterのみで改行」「Ctrl+Enterで送信」を作成してもらったんですが、「ChatGPTは最近Enterを改行にする設定が追加されたよ。」との事だったのでChatGPTはなくしました。
そして「Ctrl+Enterで送信」は注意書き的な感じで「送信ボタンを押したほうが良いよ。」とのことだったので、こちらも省きました。
Comment Form