生成AIサイト上で、Enter入力をShift + Enter入力に置き換えるtempermonkeyスクリプトを作るプロンプト文
Tampermonkey用のユーザースクリプトを生成してください。目的は「ChatGPT/Claude/Gemini/Copilotの入力欄で、無修飾のEnterを送信に使わず、Shift+Enterと同じ“改行”として扱う」ことです。
【必須要件】
メタ情報:
@name: AI Chat Enter→Shift+Enter (safer)
@namespace: enter-to-shiftenter
@version: 1.1.0
@description: 無修飾EnterをShift+Enterとして扱う(編集欄のみ/IME中は除外/Ctrl/Cmd/Altは素通し)
@match:
@grant: none
@run-at: document-start
実装方針:
1. ドキュメント全体に capture フェーズで keydown リスナを登録
2. 対象は「編集可能要素のみ」:textarea、[contenteditable="true"]、および input[type=text|search|email|url|tel|password]
event.target から上位に遡って判定しても良い
3. 置き換え条件:
キーがEnterである
Shift/Ctrl/Meta/Altが押されていない(= 無修飾)
event.isComposing が true の場合は処理しない(IME中の確定Enterは素通し)
4. 条件成立時:
event.preventDefault()、event.stopImmediatePropagation() を呼んで元の送信処理をブロック
同じターゲット要素に対して、shiftKey: true を付けた Enter の合成イベントを 順に 発火(keydown → keypress → keyup)
それぞれ bubbles: true、cancelable: true
他の修飾キーは false(ctrlKey/altKey/metaKey は false)
5. 外部依存なし。ES標準のみで書く。'use strict' を宣言。
6. コードは読みやすい最小限のコメントを付ける。
【出力形式】
完成した Tampermonkeyユーザースクリプトのコードのみ を1つのコードブロックで出力すること。
説明文や前後の解説は不要。