Greasy Fork is available in English.
This Chrome/Safari extension addresses the issue where ChatGPT sends text even when the Enter key is pressed during Japanese conversion.
// ==UserScript==
// @name ChatGPT Enter Fix (GPT4)
// @name:ja ChatGPT Enter Fix (GPT4)
// @namespace http://tampermonkey.net/
// @description This Chrome/Safari extension addresses the issue where ChatGPT sends text even when the Enter key is pressed during Japanese conversion.
// @description:ja ChatGPTにおいて日本語IMEで変換中にEnterを押した時に送信されてしまうの問題を阻止します。 Safariにも対応。
// @version 2.0
// @author satosh1suzuk1, d-engine
// @match https://chat.openai.com/chat
// @match https://chat.openai.com/chat/*
// ==/UserScript==
// wrap in anonymous scope to prevent confliction.
(() => {
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
window.addEventListener("load", ()=> {
const tryInject = () => {
const textarea = document.querySelector('textarea[tabindex="0"]');
if (!textarea) {
return;
}
if(textarea.dataset.isInjected === 'true'){
return;
}
textarea.dataset.isInjected = 'true';
textarea.addEventListener(
"keydown",
(event) => {
// SafariではisComposingが機能しない。 普通のEnterはkeyCodeが13に、IME確定のEnterは229になる
if (
(isSafari && event.keyCode === 229) ||
(event.key === "Enter" && event.isComposing)
) {
event.target.dataset.isComposing = 'true';
event.stopPropagation();
}
},
{ capture: true }
);
textarea.addEventListener(
"keyup",
(event) => {
if (event.key === "Enter" && event.target.dataset.isComposing === 'true') {
event.stopPropagation();
}
},
{ capture: true }
);
}
setInterval(tryInject, 1000);
}, false);
})();