Ctrl + Enter
で送信、 Enter
で改行する Tampermonkey のスクリプト。結構な頻度で動かなくなってめんどくさい。
// ==UserScript== // @name ChatGPT // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author You // @match https://chat.openai.com/* // @match https://chatgpt.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=chatgpt.com // @grant none // ==/UserScript== (function() { 'use strict'; setTimeout(() => { document.body.addEventListener('keydown', function(e) { // Enter キー以外は何もしない // ] は Mac の vivaldi でのアドレスバー等での予測変換の考慮を karabiner-elements を設定しているため。 if (e.key != 'Enter' && e.key != ']') { return; } // Shift + Enter if (e.shiftKey) { return; } // 変換中 if (e.isComposing) { return; } // Enter は改行 (Shift + Enter) に変える if (!e.ctrlKey) { // 通常の Enter 動作をキャンセル event.preventDefault(); let newEvent = new KeyboardEvent('keydown', { key: 'Enter', shiftKey: true, bubbles: true, cancelable: true }); event.target.dispatchEvent(newEvent); return; } // 送信ボタンをクリック let ele = document.querySelector("button[data-testid='send-button']") ele.click(); }, { capture: true }); }, 3000); })();